1 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
3 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
4 https://bugs.webkit.org/show_bug.cgi?id=127409
6 Reviewed by Geoffrey Garen.
8 Covered by existing tests.
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.
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.
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.
33 * inspector/InspectorProfilerAgent.cpp:
34 Use the direct recompile function instead of the removed "soon" version.
37 Update disconnectFrontend symbol.
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.
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.
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.
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.
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.
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.
139 2014-01-23 Simon Fraser <simon.fraser@apple.com>
141 Another Windows fix: include <algorithm> for std::min and std::max.
143 * platform/graphics/IntSize.h:
145 2014-01-23 Simon Fraser <simon.fraser@apple.com>
147 Try to fix Windows build.
149 * platform/win/PopupMenuWin.cpp:
150 (WebCore::PopupMenuWin::visibleSize):
151 * platform/win/PopupMenuWin.h:
153 2014-01-23 Simon Fraser <simon.fraser@apple.com>
155 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
156 https://bugs.webkit.org/show_bug.cgi?id=127456
158 Reviewed by Antti Koivisto.
160 On iOS, visibleContentRect() returns the entire document rect for historical
161 reasons, and actualVisibleContentRect() returns what visibleContentRect()
162 returns on other platforms.
164 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
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.
170 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
171 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
173 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
174 with non-virtual visibleHeight() and visibleWidth().
176 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
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.
183 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
185 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
190 * accessibility/AccessibilityObject.cpp:
191 (WebCore::AccessibilityObject::isOnscreen):
192 (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
193 * accessibility/AccessibilityRenderObject.cpp:
194 (WebCore::AccessibilityRenderObject::isOffScreen):
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):
266 2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
268 Turn text-decoration-skip: ink on for all underlines
269 https://bugs.webkit.org/show_bug.cgi?id=127331
271 Reviewed by Antti Koivisto.
273 No new tests are necessary because tests already exist
275 * rendering/style/RenderStyle.h:
277 2014-01-23 Hans Muller <hmuller@adobe.com>
279 [CSS Shapes] Image valued shape size and position should conform to the spec
280 https://bugs.webkit.org/show_bug.cgi?id=123295
282 Reviewed by Andreas Kling.
284 Implement image valued shape-outside scaling and translation per the spec,
285 http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
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."
290 This change doesn't completely fulfill the spec, it's limited to image elements
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
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.
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().
312 2014-01-23 Max Vujovic <mvujovic@adobe.com>
314 Remove CSS Custom Filters code and tests
315 https://bugs.webkit.org/show_bug.cgi?id=127382
317 Reviewed by Simon Fraser.
319 No new tests. Removing functionality.
322 * Configurations/FeatureDefines.xcconfig:
323 * DerivedSources.cpp:
324 * DerivedSources.make:
325 * GNUmakefile.list.am:
327 * WebCore.vcxproj/WebCore.vcxproj:
328 * WebCore.vcxproj/WebCore.vcxproj.filters:
329 * WebCore.xcodeproj/project.pbxproj:
330 * bindings/js/JSCSSRuleCustom.cpp:
332 * bindings/js/JSCSSValueCustom.cpp:
334 * bindings/objc/DOMCSS.mm:
336 * css/CSSComputedStyleDeclaration.cpp:
337 (WebCore::ComputedStyleExtractor::valueForFilter):
338 (WebCore::ComputedStyleExtractor::propertyValue):
339 * css/CSSComputedStyleDeclaration.h:
340 * css/CSSGrammar.y.in:
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):
350 * css/CSSParserMode.h:
351 * css/CSSPropertyNames.in:
352 * css/CSSPropertySourceData.h:
356 (WebCore::CSSValue::equals):
357 (WebCore::CSSValue::cssText):
358 (WebCore::CSSValue::destroy):
359 (WebCore::CSSValue::cloneForCSSOM):
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):
371 (WebCore::StyleRuleBase::destroy):
372 (WebCore::StyleRuleBase::copy):
373 (WebCore::StyleRuleBase::createCSSOMWrapper):
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.
405 (WebCore::Settings::Settings):
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.
491 2014-01-22 Jon Honeycutt <jhoneycutt@apple.com>
493 REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
494 <https://webkit.org/b/127151>
495 <rdar://problem/15840760>
497 There were two issues introduced here; the first is a use-after-free of
498 CachedSVGDocumentReference objects.
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.
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
512 Reviewed by Dirk Schulze.
514 Tests: css3/filters/crash-filter-animation-invalid-url.html
515 css3/filters/crash-invalid-url.html
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
524 (WebCore::StyleResolver::createFilterOperations):
525 Append the FilterOperation to the list of FilterOperations with
526 unloaded SVG documents.
528 * css/StyleResolver.h:
529 Changed from using PendingSVGDocumentSet, a weak set, to
530 a Vector<RefPtr<ReferenceFilterOperation>>.
531 (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
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().
541 * platform/graphics/filters/FilterOperation.cpp:
542 (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
543 Create, if necessary, and return the CachedSVGDocumentReference.
545 * platform/graphics/filters/FilterOperation.h:
546 Replaced createCachedSVGDocumentReference() with
547 getOrCreateCachedSVGDocumentReference(), which makes for slightly
550 2014-01-23 Antti Koivisto <antti@apple.com>
552 Don't enable speculative tiles immediately after main load stops progressing
553 https://bugs.webkit.org/show_bug.cgi?id=127507
555 Reviewed by Andreas Kling.
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.
561 * page/FrameView.cpp:
562 (WebCore::FrameView::FrameView):
563 (WebCore::FrameView::adjustTiledBackingCoverage):
564 (WebCore::shouldEnableSpeculativeTilingDuringLoading):
565 (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
567 When load progression stops wait 0.5s before enabling speculative tiles.
569 (WebCore::FrameView::speculativeTilingEnableTimerFired):
571 Don't enable speculative tiles if the progression has started again. Instead restart the timer.
574 * rendering/RenderLayerBacking.cpp:
575 (WebCore::RenderLayerBacking::RenderLayerBacking):
576 (WebCore::computeTileCoverage):
578 Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
580 * rendering/RenderLayerBacking.h:
582 2014-01-23 Antti Koivisto <antti@apple.com>
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
587 Reviewed by Andreas Kling.
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.
594 * loader/ProgressTracker.cpp:
595 (WebCore::ProgressTracker::ProgressTracker):
596 (WebCore::ProgressTracker::progressStarted):
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.
601 (WebCore::ProgressTracker::finalProgressComplete):
605 (WebCore::ProgressTracker::isMainLoadProgressing):
607 New definition of "main load".
609 * loader/ProgressTracker.h:
611 2014-01-23 peavo@outlook.com <peavo@outlook.com>
613 [WinCairo] Compile error.
614 https://bugs.webkit.org/show_bug.cgi?id=127499
616 Reviewed by Brent Fulgham.
618 * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
620 2014-01-23 Brady Eidson <beidson@apple.com>
622 IDB: Implement cross-thread and IPC plumbing for 'get' support
623 https://bugs.webkit.org/show_bug.cgi?id=127501
625 Reviewed by Anders Carlsson.
627 Add isolatedCopy to the IDBGetResult object:
628 * Modules/indexeddb/IDBGetResult.h:
629 (WebCore::IDBGetResult::isolatedCopy):
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):
637 Add a few more cross-thread copiers:
638 * platform/CrossThreadCopier.cpp:
639 (WebCore::IDBGetResult>::copy):
640 (WebCore::IDBKeyRangeData>::copy):
641 * platform/CrossThreadCopier.h:
645 * GNUmakefile.list.am:
647 * WebCore.xcodeproj/project.pbxproj:
649 2014-01-23 Jer Noble <jer.noble@apple.com>
651 [MSE][Mac] Adopt new AVStreamDataParser delegate API
652 https://bugs.webkit.org/show_bug.cgi?id=127498
654 Reviewed by Eric Carlson.
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.
660 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
661 (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
663 2014-01-23 Tim Horton <timothy_horton@apple.com>
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>
669 Reviewed by Sam Weinig.
671 * English.lproj/Localizable.strings:
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.
679 2014-01-23 peavo@outlook.com <peavo@outlook.com>
681 [Curl] There is no way to specify cache folder.
682 https://bugs.webkit.org/show_bug.cgi?id=125028
684 Reviewed by Brent Fulgham.
686 Fixed logical test, disc cache should be disabled if creating cache folder fails.
688 * platform/network/curl/CurlCacheManager.cpp:
689 (WebCore::CurlCacheManager::setCacheDirectory):
691 2014-01-23 Brady Eidson <beidson@apple.com>
693 Unreviewed build fix.
695 * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
697 2014-01-22 Brent Fulgham <bfulgham@apple.com>
699 [Win] Update project and solution files for 64-bit builds
700 https://bugs.webkit.org/show_bug.cgi?id=127457
702 Reviewed by Eric Carlson.
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):
730 2014-01-23 Brady Eidson <beidson@apple.com>
732 Make IDBGetResult work with IDBKeyData instead of IDBKey.
733 https://bugs.webkit.org/show_bug.cgi?id=127493
735 Reviewed by Eric Carlson.
737 Also break it into its own header to work better with IPC messages.
739 * Modules/indexeddb/IDBGetResult.h: Added.
740 (WebCore::IDBGetResult::IDBGetResult):
742 * Modules/indexeddb/IDBServerConnection.h:
744 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
745 (WebCore::GetOperation::perform):
747 * WebCore.xcodeproj/project.pbxproj:
749 2014-01-23 Mátyás Mustoha <mmatyas@inf.u-szeged.hu>
751 [curl] Add storage limit to cache manager
752 https://bugs.webkit.org/show_bug.cgi?id=125779
754 Reviewed by Brent Fulgham.
756 Sets a local disc storage size limit for the cache manager
757 used by the curl network backend.
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):
784 2014-01-23 Carlos Garcia Campos <cgarcia@igalia.com>
786 Unreviewed. Fix automake warning.
788 * GNUmakefile.list.am: Remove trailing whitespaces.
790 2014-01-23 Mihai Maerean <mmaerean@adobe.com>
792 [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
793 https://bugs.webkit.org/show_bug.cgi?id=124042
795 Reviewed by Mihnea Ovidenie.
797 If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
798 parent that positions us.
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
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.
813 2014-01-23 Andrei Bucur <abucur@adobe.com>
815 [CSS Regions] Convert regions iterator loops to range-based loops
816 https://bugs.webkit.org/show_bug.cgi?id=127464
818 Reviewed by Antti Koivisto.
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.
824 Tests: no new tests, this is a refactoring patch.
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):
865 2014-01-23 László Langó <llango.u-szeged@partner.samsung.com>
867 Range should be constructable.
868 https://bugs.webkit.org/show_bug.cgi?id=115639
870 Reviewed by Ryosuke Niwa.
872 http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
873 Now we can do `new Range()` instead of `document.createRange()`.
875 Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
877 Test: fast/dom/Range/range-constructor.html
880 (WebCore::Range::create):
884 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
886 Unreviewed build fix for gles after r162565. Add missing definitions.
888 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
889 (WebCore::GraphicsContext3D::drawArraysInstanced):
890 (WebCore::GraphicsContext3D::drawElementsInstanced):
891 (WebCore::GraphicsContext3D::vertexAttribDivisor):
893 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
895 [GLIB] Use GUniquePtr instead of GOwnPtr
896 https://bugs.webkit.org/show_bug.cgi?id=127431
898 Reviewed by Martin Robinson.
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.
904 * GNUmakefile.list.am:
906 * accessibility/atk/AXObjectCacheAtk.cpp:
907 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
908 (getAttributeSetForAccessibilityObject):
909 (accessibilityObjectLength):
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:
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):
1015 2014-01-22 Simon Fraser <simon.fraser@apple.com>
1017 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
1018 https://bugs.webkit.org/show_bug.cgi?id=127461
1020 Reviewed by Andreas Kling.
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).
1027 (WebCore::Frame::createView):
1028 * page/FrameView.cpp:
1030 * platform/ScrollView.cpp:
1031 (WebCore::ScrollView::unscaledVisibleContentSize):
1032 (WebCore::ScrollView::visibleContentRect):
1033 * platform/ScrollView.h:
1034 (WebCore::ScrollView::visibleSize):
1036 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
1038 ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
1039 https://bugs.webkit.org/show_bug.cgi?id=126987
1041 Reviewed by Simon Fraser.
1043 When "inherit" is specified and there is no parent, Length values have an "Auto" type
1045 Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
1047 * rendering/style/RenderStyle.cpp:
1048 (WebCore::RenderStyle::setWordSpacing):
1050 2014-01-22 Samuel White <samuel_white@apple.com>
1052 AX: Can't always increment web sliders.
1053 https://bugs.webkit.org/show_bug.cgi?id=127451
1055 Reviewed by Chris Fleizach.
1057 Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
1059 Test: accessibility/range-alter-by-percent.html
1061 * accessibility/AccessibilityNodeObject.cpp:
1062 (WebCore::AccessibilityNodeObject::changeValueByPercent):
1064 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
1066 Remove CSS3_TEXT_DECORATION define
1067 https://bugs.webkit.org/show_bug.cgi?id=127333
1069 Reviewed by Simon Fraser.
1071 This is required for unprefixing the text-decoration-* CSS properties.
1073 No new tests are necessary becase the flag was already on by default.
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):
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:
1134 2014-01-22 Chris Fleizach <cfleizach@apple.com>
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
1139 Reviewed by Mario Sanchez Prada.
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.
1145 I think we need to revert this behavior and follow the ARIA spec more closely.
1147 Test: accessibility/aria-describedby-ensures-visibility.html
1149 * accessibility/AccessibilityNodeObject.cpp:
1150 (WebCore::AccessibilityNodeObject::visibleText):
1151 (WebCore::AccessibilityNodeObject::title):
1153 2014-01-22 Brady Eidson <beidson@apple.com>
1155 The IDB backing store get() method shouldn't call IDB callbacks directly
1156 https://bugs.webkit.org/show_bug.cgi?id=127453
1158 Reviewed by Beth Dakin.
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.
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:
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:
1174 2014-01-22 Dean Jackson <dino@apple.com>
1176 Unreviewed attempt to fix 32-bit builds.
1178 Use long long rather than GC3Dintptr.
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:
1187 2014-01-21 Brady Eidson <beidson@apple.com>
1190 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
1192 Reviewed by Alexey Proskuryakov.
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:
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):
1208 * platform/CrossThreadCopier.cpp:
1209 (WebCore::IDBKeyData>::copy):
1210 * platform/CrossThreadCopier.h:
1213 * WebCore.xcodeproj/project.pbxproj:
1215 2014-01-22 Dean Jackson <dino@apple.com>
1217 [WebGL] Implement ANGLE_instanced_arrays
1218 https://bugs.webkit.org/show_bug.cgi?id=127257
1220 Reviewed by Brent Fulgham.
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.
1228 Test: fast/canvas/webgl/angle-instanced-arrays.html
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.
1239 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1240 (WebCore::toJS): Link JS side to C++ side.
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.
1248 * html/canvas/WebGLExtension.h: New extension enum.
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.
1269 * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
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):
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.
1283 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
1284 for non-mac platforms.
1286 * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
1289 2014-01-22 Zalan Bujtas <zalan@apple.com>
1291 [CSS Shapes] shape-inside rectangle layout can fail
1292 https://bugs.webkit.org/show_bug.cgi?id=124784
1294 Reviewed by Darin Adler.
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.
1300 Existing test is changed to reflect subpixel functionality.
1302 * rendering/shapes/RectangleShape.cpp:
1303 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1305 2014-01-22 Jochen Eisinger <jochen@chromium.org>
1307 Add protocolIsInHTTPFamily for strings and use it where appropriate
1308 https://bugs.webkit.org/show_bug.cgi?id=127336
1310 Reviewed by Alexey Proskuryakov.
1312 * html/HTMLAnchorElement.cpp:
1313 (WebCore::HTMLAnchorElement::parseAttribute):
1314 * page/ContentSecurityPolicy.cpp:
1315 (WebCore::CSPSource::schemeMatches):
1316 * page/SecurityPolicy.cpp:
1317 (WebCore::SecurityPolicy::generateReferrerHeader):
1319 (WebCore::protocolIsInHTTPFamily):
1322 2014-01-22 Zalan Bujtas <zalan@apple.com>
1324 Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
1325 https://bugs.webkit.org/show_bug.cgi?id=127404
1327 Reviewed by Antti Koivisto.
1329 In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
1330 round line positions to CSS (integral) position similarly to InlineFlowBox.
1332 Existing tests cover it.
1334 * rendering/SimpleLineLayoutResolver.h:
1335 (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1336 (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1338 2014-01-22 Joseph Pecoraro <pecoraro@apple.com>
1340 Unreviewed rollout of r162534, this caused inspector test failures.
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:
1359 2014-01-22 peavo@outlook.com <peavo@outlook.com>
1361 Crashes in setTextForIterator
1362 https://bugs.webkit.org/show_bug.cgi?id=127424
1364 Reviewed by Brent Fulgham.
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.
1371 2014-01-22 Jer Noble <jer.noble@apple.com>
1373 [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
1374 https://bugs.webkit.org/show_bug.cgi?id=127430
1376 Reviewed by Eric Carlson.
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.
1383 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1384 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
1386 2014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1388 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
1389 https://bugs.webkit.org/show_bug.cgi?id=127119
1391 Reviewed by Mario Sanchez Prada.
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.
1397 * accessibility/AXObjectCache.h:
1398 (WebCore::AXObjectCache::AXObjectCache):
1399 * accessibility/AccessibilityObject.h:
1401 2014-01-22 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1403 Refactor calculation of hasRx and hasRy values in SVGPathData
1404 https://bugs.webkit.org/show_bug.cgi?id=127423
1406 Reviewed by Darin Adler.
1408 This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
1410 * rendering/svg/SVGPathData.cpp:
1411 (WebCore::updatePathFromRectElement):
1413 2014-01-21 Joseph Pecoraro <pecoraro@apple.com>
1415 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
1416 https://bugs.webkit.org/show_bug.cgi?id=127409
1418 Reviewed by Timothy Hatcher.
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.
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.
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.
1443 * inspector/InspectorProfilerAgent.cpp:
1444 Use the direct recompile function instead of the removed "soon" version.
1446 2014-01-22 Robert Sipka <sipka@inf.u-szeged.hu>
1448 [curl] Improve detecting and handling of SSL client certificate
1449 https://bugs.webkit.org/show_bug.cgi?id=125006
1451 Reviewed by Brent Fulgham.
1453 Add client certificate handling.
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:
1467 2014-01-22 Mihai Maerean <mmaerean@adobe.com>
1469 [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
1470 https://bugs.webkit.org/show_bug.cgi?id=127343
1472 Reviewed by Sam Weinig.
1474 RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
1475 contexts which create layers.
1477 No new tests, no functional change.
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:
1489 2014-01-22 Antti Koivisto <antti@apple.com>
1491 Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
1492 https://bugs.webkit.org/show_bug.cgi?id=127426
1494 Reviewed by Anders Carlsson.
1496 * rendering/RenderLayerCompositor.cpp:
1497 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
1498 (WebCore::RenderLayerCompositor::frameViewDidScroll):
1500 Factor scroll layer position update to a function.
1502 (WebCore::RenderLayerCompositor::ensureRootLayer):
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.
1507 * rendering/RenderLayerCompositor.h:
1509 2014-01-22 Mihai Tica <mitica@adobe.com>
1511 [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
1512 https://bugs.webkit.org/show_bug.cgi?id=127350
1514 Reviewed by Dirk Schulze.
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.
1520 Test: css3/compositing/background-blend-mode-svg.html
1522 * svg/graphics/SVGImage.cpp:
1523 (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
1525 2014-01-22 Antti Koivisto <antti@apple.com>
1527 Update overlay scrollbars in single pass
1528 https://bugs.webkit.org/show_bug.cgi?id=127289
1530 Reviewed by Anders Carlsson.
1532 * platform/ScrollView.cpp:
1533 (WebCore::ScrollView::updateScrollbars):
1535 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
1537 2014-01-22 Mihnea Ovidenie <mihnea@adobe.com>
1539 [CSSRegions] Incorrect layout of a region pseudo children
1540 https://bugs.webkit.org/show_bug.cgi?id=126146
1542 Reviewed by David Hyatt.
1544 Test: fast/regions/collapse-anonymous-region.html
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
1552 * rendering/RenderBlockFlow.h:
1554 2014-01-21 Ryuan Choi <ryuan.choi@samsung.com>
1556 Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
1557 https://bugs.webkit.org/show_bug.cgi?id=127402
1559 Reviewed by Anders Carlsson.
1561 compositing/iframes/iframe-composited-scrolling.html is updated because
1562 there are no usages in WebCore.
1566 2014-01-21 Alex Christensen <achristensen@webkit.org>
1568 Compile fix for using libsoup on Windows.
1569 https://bugs.webkit.org/show_bug.cgi?id=127377
1571 Reviewed by Daniel Bates.
1573 * platform/network/soup/ProxyResolverSoup.cpp:
1574 (soupProxyResolverWkSetProperty):
1575 (soupProxyResolverWkGetProperty):
1576 (soupProxyResolverWkGetProxyURISync):
1577 Replaced uint with unsigned.
1579 2014-01-21 Daniel Bates <dabates@apple.com>
1581 Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
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.
1588 * html/HTMLMediaElement.cpp:
1589 (WebCore::HTMLMediaElement::parseAttribute):
1591 2014-01-21 Brady Eidson <beidson@apple.com>
1593 The IDB backing store put() method shouldn't call IDB callbacks directly
1594 https://bugs.webkit.org/show_bug.cgi?id=127399
1596 Reviewed by Beth Dakin.
1598 Refactor the put() callback to take a resulting key or an error.
1599 * Modules/indexeddb/IDBServerConnection.h:
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:
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:
1611 2014-01-21 Jae Hyun Park <jae.park@company100.net>
1613 Use nullptr in HTMLCanvasElement
1614 https://bugs.webkit.org/show_bug.cgi?id=127388
1616 Reviewed by Gyuyoung Kim.
1618 * html/HTMLCanvasElement.cpp:
1619 (WebCore::HTMLCanvasElement::getContext):
1620 (WebCore::HTMLCanvasElement::drawingContext):
1621 (WebCore::HTMLCanvasElement::existingDrawingContext):
1623 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
1625 Assertion failure in Range::nodeWillBeRemoved
1626 https://bugs.webkit.org/show_bug.cgi?id=121694
1628 Reviewed by Ryosuke Niwa.
1630 Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
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.
1636 Test: fast/dom/Range/remove-twice-crash.html
1638 * dom/ContainerNode.cpp:
1639 (WebCore::ContainerNode::willRemoveChild):
1640 * dom/ContainerNode.h:
1642 2014-01-21 Tim Horton <timothy_horton@apple.com>
1644 REGRESSION (r161580): Some PDFs render outside their <img>
1645 https://bugs.webkit.org/show_bug.cgi?id=127381
1646 <rdar://problem/15872168>
1648 Reviewed by Simon Fraser.
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.
1656 2014-01-21 Simon Fraser <simon.fraser@apple.com>
1658 Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
1659 https://bugs.webkit.org/show_bug.cgi?id=127373
1661 Reviewed by Beth Dakin.
1663 Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
1664 move the #ifdef inside viewportConstrainedVisibleContentRect().
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.
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):
1682 2014-01-21 Andy Estes <aestes@apple.com>
1684 [iOS] Allow all clients to link against WebCore
1685 https://bugs.webkit.org/show_bug.cgi?id=127372
1687 Reviewed by Dan Bernstein.
1689 * Configurations/WebCore.xcconfig:
1691 2014-01-21 Bear Travis <betravis@adobe.com>
1693 [CSS Shapes] Preserve box-shape order when serializing shape values
1694 https://bugs.webkit.org/show_bug.cgi?id=127200
1696 Reviewed by Dirk Schulze.
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.
1703 Modifying existing parsing tests.
1705 * css/CSSComputedStyleDeclaration.cpp:
1706 (WebCore::shapePropertyValue): Factor out code common to generating shape
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.
1725 2014-01-21 Daniel Bates <dabates@apple.com>
1727 Fix the iOS Simulator release build
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.
1734 * html/HTMLMediaElement.cpp:
1735 (WebCore::HTMLMediaElement::parseAttribute):
1737 2014-01-21 Zoltan Horvath <zoltan@webkit.org>
1739 Since MidpointState is a class, it should behave like a class
1740 https://bugs.webkit.org/show_bug.cgi?id=127154
1742 Reviewed by David Hyatt.
1744 I modified MidpointState to behave like a class, updated the call sites also.
1746 No new tests, no behavior change.
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):
1771 2014-01-21 Commit Queue <commit-queue@webkit.org>
1773 Unreviewed, rolling out r162452.
1774 http://trac.webkit.org/changeset/162452
1775 https://bugs.webkit.org/show_bug.cgi?id=127366
1777 broke a few tests on all Mac WebKit1 bots (Requested by
1778 thorton on #webkit).
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):
1790 (WebCore::Page::Page):
1791 (WebCore::Page::setIsInWindow):
1792 (WebCore::Page::setIsVisuallyIdle):
1793 (WebCore::Page::setIsVisible):
1794 (WebCore::Page::visibilityState):
1795 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1797 (WebCore::Page::isVisible):
1798 (WebCore::Page::isInWindow):
1800 2014-01-21 Chris Fleizach <cfleizach@apple.com>
1802 AX: Mac: Expose the visible text of a password field to AX
1803 https://bugs.webkit.org/show_bug.cgi?id=127353
1805 Reviewed by Brent Fulgham.
1807 The Mac platform should now expose the rendered value of password fields through AX.
1809 Test: accessibility/password-field-value.html
1811 * accessibility/AccessibilityRenderObject.cpp:
1812 (WebCore::AccessibilityRenderObject::textLength):
1813 (WebCore::AccessibilityRenderObject::passwordFieldValue):
1815 2014-01-21 Robert Sipka <sipka@inf.u-szeged.hu>
1817 Support SSL error handling in case of synchronous job.
1818 https://bugs.webkit.org/show_bug.cgi?id=125301
1820 Reviewed by Brent Fulgham.
1822 Set ssl error informations for the users.
1824 * platform/network/curl/ResourceHandleManager.cpp:
1825 (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1827 2014-01-21 Simon Fraser <simon.fraser@apple.com>
1829 Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
1830 https://bugs.webkit.org/show_bug.cgi?id=127360
1832 Reviewed by Andy Estes.
1834 MobileSafari inappropriately calls these WebCore functions directly,
1839 2014-01-21 Simon Fraser <simon.fraser@apple.com>
1841 Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
1842 https://bugs.webkit.org/show_bug.cgi?id=127362
1844 Reviewed by Dave Hyatt.
1846 Various platforms customize the rect used to layout position:fixed elements,
1847 and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
1850 Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
1851 and moving the platform hacks into it.
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:
1862 2014-01-21 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
1864 ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
1865 <https://webkit.org/b/108184>
1867 Reviewed by Philip Rogers.
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.
1873 Test: svg/animations/smil-syncbase-self-dependency.svg
1875 * svg/animation/SVGSMILElement.cpp:
1876 (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
1879 2014-01-21 Tim Horton <timothy_horton@apple.com>
1881 Address late review naming comments after r162453.
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]):
1891 2014-01-21 Tim Horton <timothy_horton@apple.com>
1893 Keep CALayer implicit animation disabling code in a single place
1894 https://bugs.webkit.org/show_bug.cgi?id=127355
1896 Reviewed by Simon Fraser.
1898 * WebCore.xcodeproj/project.pbxproj:
1899 Add CALayerWebAdditions.{h,mm}.
1901 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1902 (PlatformCALayerMac::commonInit):
1903 Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
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.
1910 2014-01-21 Gavin Barraclough <barraclough@apple.com>
1912 Change Page, FocusController to use ViewState
1913 https://bugs.webkit.org/show_bug.cgi?id=126533
1915 Reviewed by Tim Horton.
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.
1921 Maintain existing interface for WebKit1 clients.
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.
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()
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.
1973 2014-01-21 Lauro Neto <lauro.neto@openbossa.org>
1975 Remove PLATFORM(NIX) from WebCore
1976 https://bugs.webkit.org/show_bug.cgi?id=127299
1978 Reviewed by Anders Carlsson.
1980 * editing/Editor.cpp:
1981 (WebCore::Editor::cut):
1982 (WebCore::Editor::copy):
1983 (WebCore::Editor::copyImage):
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):
2038 2014-01-21 Eric Carlson <eric.carlson@apple.com>
2040 Add ‎ ‏ and to WebVTT parser
2041 https://bugs.webkit.org/show_bug.cgi?id=85112
2043 Reviewed by Jer Noble.
2045 No new tests, track-webvtt-tc022-entities.html was updated to test this.
2047 * html/track/WebVTTTokenizer.cpp:
2048 (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
2050 2014-01-21 Commit Queue <commit-queue@webkit.org>
2052 Unreviewed, rolling out r162354.
2053 http://trac.webkit.org/changeset/162354
2054 https://bugs.webkit.org/show_bug.cgi?id=127354
2056 Appears to have broken accessibility in a non-trivial way
2057 (Requested by ap on #webkit).
2059 * platform/ScrollView.cpp:
2060 (WebCore::ScrollView::updateScrollbars):
2062 2014-01-21 Commit Queue <commit-queue@webkit.org>
2064 Unreviewed, rolling out r162445.
2065 http://trac.webkit.org/changeset/162445
2066 https://bugs.webkit.org/show_bug.cgi?id=127351
2068 It broke the 32 bit GTK build (Requested by Ossy on #webkit).
2070 * rendering/style/StyleRareInheritedData.cpp:
2072 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
2074 Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
2075 https://bugs.webkit.org/show_bug.cgi?id=127346
2079 Reviewed by Csaba Osztrogonác.
2081 * rendering/style/StyleRareInheritedData.cpp:
2083 2014-01-21 Antti Koivisto <antti@apple.com>
2085 Delay initial layer flush during loading on all platforms
2086 https://bugs.webkit.org/show_bug.cgi?id=127347
2088 Reviewed by Andreas Kling.
2090 To reduce unnecessary repaints enable the same behaviour as iOS already has.
2092 * rendering/RenderLayerCompositor.cpp:
2093 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2095 Set the initial state of m_layerFlushThrottlingEnabled correctly.
2097 (WebCore::RenderLayerCompositor::scheduleLayerFlush):
2098 (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
2099 * rendering/RenderLayerCompositor.h:
2101 Enable initial layer flush delay on all platforms.
2103 2014-01-21 Mihai Tica <mitica@adobe.com>
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.
2110 https://bugs.webkit.org/show_bug.cgi?id=126888
2111 Reviewed by Dirk Schulze.
2113 Test: css3/compositing/background-blend-mode-tiled-layers.html
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.
2127 2014-01-21 Gurpreet Kaur <k.gurpreet@samsung.com>
2129 The WebCore.vcxproj.filters doesnot apply
2130 https://bugs.webkit.org/show_bug.cgi?id=127338
2132 Reviewed by Csaba Osztrogonác.
2134 * WebCore.vcxproj/WebCore.vcxproj.filters:
2135 Modified the WebCore.vcxproj.filters so that it is applied when loading
2136 WebCore.vcxproj file.
2138 2014-01-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
2140 Fix SVG animations which set rx or ry attributes
2141 https://bugs.webkit.org/show_bug.cgi?id=127337
2143 Reviewed by Dirk Schulze.
2145 Test: svg/stroke/animated-non-scaling-rxry.html
2147 Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
2149 * rendering/svg/RenderSVGRect.cpp:
2150 (WebCore::RenderSVGRect::updateShapeFromElement):
2151 * rendering/svg/SVGPathData.cpp:
2152 (WebCore::updatePathFromRectElement):
2154 2014-01-21 Krzysztof Czech <k.czech@samsung.com>
2156 [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
2157 https://bugs.webkit.org/show_bug.cgi?id=127291
2159 Reviewed by Mario Sanchez Prada.
2161 Test: accessibility/aria-flowto.html
2163 Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
2164 http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
2166 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2167 (setAtkRelationSetFromCoreObject):
2169 2014-01-20 Ryuan Choi <ryuan.choi@samsung.com>
2171 [CMAKE] Remove Nix from CMake scripts
2172 https://bugs.webkit.org/show_bug.cgi?id=127264
2174 Reviewed by Anders Carlsson.
2178 2014-01-20 Anders Carlsson <andersca@apple.com>
2180 Remove an unused PageGroup function
2181 https://bugs.webkit.org/show_bug.cgi?id=127327
2183 Reviewed by Andreas Kling.
2186 * page/PageGroup.cpp:
2189 2014-01-20 Anders Carlsson <andersca@apple.com>
2191 Move user style sheet handling to UserContentController
2192 https://bugs.webkit.org/show_bug.cgi?id=127322
2193 <rdar://problem/15861296>
2195 Reviewed by Andreas Kling.
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):
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):
2214 2014-01-20 Benjamin Poulain <benjamin@webkit.org>
2216 Add a nicer way to iterate over all the attributes of an element
2217 https://bugs.webkit.org/show_bug.cgi?id=127266
2219 Reviewed by Geoffrey Garen.
2221 When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
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.
2226 The choice was done for every access, which caused the assembly to be a little
2228 This patch unify the data access by doing everything as a array pointer with offset (getting
2229 that data from Vector when necessary).
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.
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):
2243 (WebCore::Element::normalizeAttributes):
2244 (WebCore::Element::detachAllAttrNodesFromElement):
2245 (WebCore::Element::cloneAttributesFromElement):
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):
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):
2296 2014-01-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2298 Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
2299 https://bugs.webkit.org/show_bug.cgi?id=126869
2301 Reviewed by Dirk Schulze.
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.
2308 Merge r165358 from blink.
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):
2319 2014-01-20 Anders Carlsson <andersca@apple.com>
2321 UserContentController should keep track of user scripts
2322 https://bugs.webkit.org/show_bug.cgi?id=127317
2323 <rdar://problem/15861296>
2325 Reviewed by Andreas Kling.
2327 Move handling of user scripts from PageGroup to UserContentController.
2330 (WebCore::Frame::injectUserScripts):
2331 * page/PageGroup.cpp:
2332 (WebCore::PageGroup::addUserScriptToWorld):
2333 (WebCore::PageGroup::removeUserScriptFromWorld):
2334 (WebCore::PageGroup::removeUserScriptsFromWorld):
2335 (WebCore::PageGroup::removeAllUserContent):
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):
2345 2014-01-20 Anders Carlsson <andersca@apple.com>
2347 Give each page a UserContentController
2348 https://bugs.webkit.org/show_bug.cgi?id=127315
2349 <rdar://problem/15861296>
2351 Reviewed by Andreas Kling.
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.
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.
2360 (WebCore::Page::~Page):
2361 (WebCore::Page::setUserContentController):
2363 (WebCore::Page::userContentController):
2364 * page/PageGroup.cpp:
2365 (WebCore::PageGroup::PageGroup):
2366 (WebCore::PageGroup::addPage):
2367 (WebCore::PageGroup::removePage):
2369 * page/UserContentController.cpp:
2370 (WebCore::UserContentController::addPage):
2371 (WebCore::UserContentController::removePage):
2372 * page/UserContentController.h:
2374 2014-01-20 Jeremy Jones <jeremyj@apple.com>
2376 Add AVKit fullscreen video interface.
2377 https://bugs.webkit.org/show_bug.cgi?id=126818
2379 Reviewed by Eric Carlson.
2381 No new tests, no observable change in functionality.
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:
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.
2422 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
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
2427 Reviewed by Darin Adler.
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.
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):
2448 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
2450 Modernize WebCore/inspector with nullptr
2451 https://bugs.webkit.org/show_bug.cgi?id=127303
2453 Reviewed by Anders Carlsson.
2455 Ran clang-modernize -use-nullptr over WebCore/inspector.
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):
2599 2014-01-20 Anders Carlsson <andersca@apple.com>
2601 Add empty UserContentController class
2602 https://bugs.webkit.org/show_bug.cgi?id=127300
2603 <rdar://problem/15861296>
2605 Reviewed by Dan Bernstein.
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.
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.
2621 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
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
2626 Reviewed by Anders Carlsson.
2628 Let clang-modernize add overrides.
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:
2669 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
2671 Move WebAudio source code to std::unique_ptr
2672 https://bugs.webkit.org/show_bug.cgi?id=127274
2674 Reviewed by Eric Carlson.
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.
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):
2827 2014-01-20 Morten Stenshorne <mstensho@opera.com>
2829 Region based multicol: support explicit column breaks
2830 https://bugs.webkit.org/show_bug.cgi?id=123993
2832 Reviewed by David Hyatt.
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.
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).
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
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
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
2866 * rendering/RenderMultiColumnBlock.h:
2867 * rendering/RenderMultiColumnFlowThread.cpp:
2868 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2869 Locate the appropriate multi-column set and call its
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
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.
2904 2014-01-20 Eric Carlson <eric.carlson@apple.com>
2906 Allow MediaSessionManager to restrict 'preload' behavior
2907 https://bugs.webkit.org/show_bug.cgi?id=127297
2909 Reviewed by Jer Noble.
2911 Tests: media/video-restricted-no-preload-auto.html
2912 media/video-restricted-no-preload-metadata.html
2914 * html/HTMLMediaElement.cpp:
2915 (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
2916 passing to media engine.
2917 (WebCore::HTMLMediaElement::loadResource): Ditto.
2919 * html/HTMLMediaSession.cpp:
2920 (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
2921 * html/HTMLMediaSession.h:
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.
2928 * testing/Internals.cpp:
2929 (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
2930 AutoPreloadingNotPermitted.
2932 2014-01-20 Andreas Kling <akling@apple.com>
2934 Let RenderImage construct its RenderImageResource.
2935 <https://webkit.org/b/127290>
2937 Everyone who creates a RenderImage immediately follows up with
2938 creating a RenderImageResource and assigning it to the image.
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.
2944 Also modernized the touched code with std::unique_ptr.
2946 Reviewed by Antti Koivisto.
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):
3002 2014-01-20 Antti Koivisto <antti@apple.com>
3004 Update overlay scrollbars in single pass
3005 https://bugs.webkit.org/show_bug.cgi?id=127289
3007 Reviewed by Anders Carlsson.
3009 * platform/ScrollView.cpp:
3010 (WebCore::ScrollView::updateScrollbars):
3012 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
3014 2014-01-20 Jochen Eisinger <jochen@chromium.org>
3016 Never send a non-http(s) referrer header even with a referrer policy
3017 https://bugs.webkit.org/show_bug.cgi?id=127172
3019 Reviewed by Alexey Proskuryakov.
3021 This mirrors the code SecurityPolicy::shouldHideReferrer which is used
3022 for ReferrerPolicyDefault.
3024 No new tests, only affects an embedder that registers other schemes,
3027 * page/SecurityPolicy.cpp:
3028 (WebCore::SecurityPolicy::generateReferrerHeader):
3030 2014-01-20 Mihai Tica <mitica@adobe.com>
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
3036 https://bugs.webkit.org/show_bug.cgi?id=126887
3038 Reviewed by Dirk Schulze.
3040 Test: css3/compositing/background-blend-mode-crossfade-image.html
3042 * platform/graphics/CrossfadeGeneratedImage.cpp:
3043 (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
3045 2013-11-22 Sergio Villar Senin <svillar@igalia.com>
3047 Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
3048 https://bugs.webkit.org/show_bug.cgi?id=124769
3050 Reviewed by Andreas Kling.
3052 Test: fast/gradients/crash-on-no-position-separator.html
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.
3059 * css/CSSParser.cpp:
3060 (WebCore::CSSParser::parseRadialGradient):
3062 2014-01-20 Mihai Tica <mitica@adobe.com>
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
3070 Reviewed by Dirk Schulze.
3072 Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
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.
3080 2014-01-20 Zalan Bujtas <zalan@apple.com>
3082 Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
3083 https://bugs.webkit.org/show_bug.cgi?id=126892
3085 Reviewed by Antti Koivisto.
3087 SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
3090 Covered by existing tests.
3092 * rendering/SimpleLineLayoutFunctions.cpp:
3093 (WebCore::SimpleLineLayout::paintFlow):
3095 2014-01-20 Gurpreet Kaur <k.gurpreet@samsung.com>
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
3100 Reviewed by Antti Koivisto.
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.
3106 Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
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
3116 2014-01-20 Edit Balint <edbalint@inf.u-szeged.hu>
3118 [CoordinatedGraphics] Segmentation fault at CoordinatedGraphicsScene::clearImageBackingContents
3120 https://bugs.webkit.org/show_bug.cgi?id=125776
3122 Reviewed by Csaba Osztrogonác.
3124 Unexpected behavior occurs in some test cases which leads to segmentation fault.
3126 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3127 (WebCore::CompositingCoordinator::removeImageBacking):
3129 2014-01-20 Morten Stenshorne <mstensho@opera.com>
3131 Region based multicol: tall line causes taller multicol container than necessary
3132 https://bugs.webkit.org/show_bug.cgi?id=122550
3134 Detect and report all column breaks, also when there's no pagination strut involved.
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.
3139 Reviewed by David Hyatt.
3141 Test: fast/multicol/newmulticol/balance10.html
3143 * rendering/RenderBlockFlow.cpp:
3144 (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
3146 2014-01-19 Carlos Garcia Campos <cgarcia@igalia.com>
3148 [GLIB] GVariant floating references are not correctly handled by GRefPtr
3149 https://bugs.webkit.org/show_bug.cgi?id=127246
3151 Reviewed by Martin Robinson.
3153 Do not adopt GVariant floating references, they will be converted
3154 to a full reference by GRefPtr.
3156 * platform/gtk/PasteboardHelper.cpp:
3157 (WebCore::PasteboardHelper::fillSelectionData):
3158 (WebCore::PasteboardHelper::fillDataObjectFromDropData):
3160 2014-01-19 Jinwoo Song <jinwoo7.song@samsung.com>
3162 Use unsigned type for the size of CSSParserValueList
3163 https://bugs.webkit.org/show_bug.cgi?id=127211
3165 Reviewed by Andreas Kling.
3167 * css/CSSParser.cpp: Changed variable type from int to unsigned.
3168 (WebCore::CSSParser::parseValue):
3170 2014-01-19 Jaehun Lim <ljaehun.lim@samsung.com>
3172 Unreviewed build fix after r162293
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
3186 * html/parser/HTMLTreeBuilder.cpp:
3187 (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
3189 2014-01-19 Anders Carlsson <andersca@apple.com>
3191 Stop using MutexTryLocker in WebCore
3192 https://bugs.webkit.org/show_bug.cgi?id=127254
3194 Reviewed by Andreas Kling.
3196 Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
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:
3238 2014-01-19 Alberto Garcia <berto@igalia.com>
3240 Does not build with SVG disabled
3241 https://bugs.webkit.org/show_bug.cgi?id=127248
3243 Reviewed by Sam Weinig.
3245 Add missing #if ENABLE(SVG) guard.
3247 * dom/ElementData.h:
3249 2014-01-19 Anders Carlsson <andersca@apple.com>
3251 Use a strong enum for HTMLTreeBuilder::InsertionMode
3252 https://bugs.webkit.org/show_bug.cgi?id=127252
3254 Reviewed by Antti Koivisto.
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:
3285 2014-01-19 Anders Carlsson <andersca@apple.com>
3287 Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
3288 https://bugs.webkit.org/show_bug.cgi?id=127251
3290 Reviewed by Antti Koivisto.
3292 Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
3294 * platform/ios/wak/WebCoreThreadRun.cpp:
3295 * platform/network/cf/LoaderRunLoopCF.cpp:
3296 (WebCore::loaderRunLoopMutex):
3297 (WebCore::loaderRunLoopConditionVariable):
3298 (WebCore::runLoaderThread):
3299 (WebCore::loaderRunLoop):
3301 2014-01-19 Anders Carlsson <andersca@apple.com>
3303 Modernize ReverbConvolver
3304 https://bugs.webkit.org/show_bug.cgi?id=127250
3306 Reviewed by Andreas Kling.
3308 Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
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:
3317 2014-01-18 Andy Estes <aestes@apple.com>
3319 [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
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).
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}.
3332 * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
3334 2014-01-18 Alexey Proskuryakov <ap@apple.com>
3336 Memory leak in JSSubtleCrypto::wrapKey
3337 https://bugs.webkit.org/show_bug.cgi?id=127241
3339 Reviewed by Sam Weinig.
3341 * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
3342 Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
3344 2014-01-18 Andy Estes <aestes@apple.com>
3346 Fix the iOS Production build.
3348 * Configurations/WebCore.xcconfig:
3350 2014-01-18 Alberto Garcia <berto@igalia.com>
3352 [CodeGeneratorJS] Sort output of StructureFlags and function parameters
3354 https://bugs.webkit.org/show_bug.cgi?id=127226
3356 Reviewed by Alexey Proskuryakov.
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.
3362 * bindings/scripts/CodeGeneratorJS.pm:
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:
3384 2014-01-18 Anders Carlsson <andersca@apple.com>
3386 Replace a couple of uses of WTF::Function with std::function
3387 https://bugs.webkit.org/show_bug.cgi?id=127218
3389 Reviewed by Andreas Kling.
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):
3402 2014-01-18 Anders Carlsson <andersca@apple.com>
3404 Modernize HTML parser code
3405 https://bugs.webkit.org/show_bug.cgi?id=127236
3407 Reviewed by Andreas Kling.
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:
3462 2014-01-18 Benjamin Poulain <benjamin@webkit.org>
3464 Make ElementData JIT friendly
3465 https://bugs.webkit.org/show_bug.cgi?id=127209
3467 Reviewed by Geoffrey Garen.
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.
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):
3511 (WebCore::SVGElement::invalidateSVGAttributes):
3513 2014-01-18 Zalan Bujtas <zalan@apple.com>
3515 Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
3516 https://bugs.webkit.org/show_bug.cgi?id=126899
3518 Reviewed by Tim Horton.
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.
3523 Covered by existing tests.
3525 * platform/graphics/IntRect.h:
3526 (WebCore::IntRect::infiniteRect):
3528 2014-01-18 Anders Carlsson <andersca@apple.com>
3530 Remove support for the viewsource attribute
3531 https://bugs.webkit.org/show_bug.cgi?id=127232
3533 Reviewed by Andreas Kling.
3535 The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
3536 its own syntax highlighting) and not audited.
3538 This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
3539 patch will remove the code as well.
3541 * html/HTMLFrameElementBase.cpp:
3542 (WebCore::HTMLFrameElementBase::parseAttribute):
3544 2014-01-18 Anders Carlsson <andersca@apple.com>
3546 XMLTreeViewer shouldn't use the view source mode
3547 https://bugs.webkit.org/show_bug.cgi?id=127229
3549 Reviewed by Andreas Kling.
3551 Add the relevant styles from view-source.css to XMLViewer.css.
3553 * xml/XMLTreeViewer.cpp:
3554 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3555 * xml/XMLViewer.css:
3566 2014-01-18 Andreas Kling <akling@apple.com>
3568 Remove unused "touchDragDropEnabled" setting.
3569 <https://webkit.org/b/127227>
3571 Reviewed by Sam Weinig.
3575 2014-01-18 Brian Burg <bburg@apple.com>
3577 Web Inspector: Page should use std::unique_ptr for InspectorController
3578 https://bugs.webkit.org/show_bug.cgi?id=127068
3580 Reviewed by Joseph Pecoraro.
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.
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.
3591 * bindings/js/JSDOMWindowBase.cpp:
3592 (WebCore::JSDOMWindowBase::supportsProfiling):
3593 (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
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):
3641 (WebCore::Page::Page):
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):
3674 2014-01-18 Anders Carlsson <andersca@apple.com>
3676 Remove ENABLE_THREADED_HTML_PARSER defines everywhere
3677 https://bugs.webkit.org/show_bug.cgi?id=127225
3679 Reviewed by Andreas Kling.
3681 This concludes the removal of over 8.8 million lines of threaded parser code.
3683 * Configurations/FeatureDefines.xcconfig:
3685 2014-01-18 Anders Carlsson <andersca@apple.com>
3687 Remove the remaining threaded parser code
3688 https://bugs.webkit.org/show_bug.cgi?id=127224
3690 Reviewed by Andreas Kling.
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):
3718 2014-01-18 Anders Carlsson <andersca@apple.com>
3720 Remove threaded parser code from the preload scanners
3721 https://bugs.webkit.org/show_bug.cgi?id=127222
3723 Reviewed by Andreas Kling.
3725 * html/parser/CSSPreloadScanner.cpp:
3726 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
3729 (WebCore::CSSPreloadScanner::scan):
3730 Move scanCommon here and simplify the code.
3732 * html/parser/CSSPreloadScanner.h:
3735 * html/parser/HTMLPreloadScanner.cpp:
3736 (WebCore::TokenPreloadScanner::tagIdFor):
3737 TagId is a strong enum now, update enum values.
3739 (WebCore::TokenPreloadScanner::initiatorFor):
3742 (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3745 (WebCore::TokenPreloadScanner::StartTagScanner::match):
3748 (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
3749 TagId is a strong enum now, update enum values.
3751 (WebCore::TokenPreloadScanner::StartTagScanner::charset):
3754 (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
3757 (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
3760 (WebCore::TokenPreloadScanner::scan):
3761 Merge scan and scanCommon.
3763 * html/parser/HTMLPreloadScanner.h:
3765 2014-01-18 Lauro Neto <lauro.neto@openbossa.org>
3767 Remove Nix files from WebCore
3768 https://bugs.webkit.org/show_bug.cgi?id=127176
3770 Reviewed by Anders Carlsson.
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.
3809 2014-01-18 Anders Carlsson <andersca@apple.com>
3811 Remove DocumentParser::pinToMainThread() and related code
3812 https://bugs.webkit.org/show_bug.cgi?id=127221
3814 Reviewed by Andreas Kling.
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):
3830 2014-01-18 Anders Carlsson <andersca@apple.com>
3832 Remove HTMLParserThread
3833 https://bugs.webkit.org/show_bug.cgi?id=127220
3835 Reviewed by Andreas Kling.
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.
3846 2014-01-17 Andreas Kling <akling@apple.com>
3848 GC soon after responding to fake memory pressure.
3849 <https://webkit.org/b/127210>
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.
3856 Reviewed by Geoffrey Garen.
3858 * platform/mac/MemoryPressureHandlerMac.mm:
3859 (WebCore::MemoryPressureHandler::install):
3861 2014-01-18 Anders Carlsson <andersca@apple.com>
3863 Remove files only used by the threaded HTML parser
3864 https://bugs.webkit.org/show_bug.cgi?id=127219
3865 <rdar://problem/13331277>
3867 Reviewed by Andreas Kling.
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.
3890 2014-01-17 Andreas Kling <akling@apple.com>
3892 Micro-optimize RenderBoxModelObject::computedCSSPadding().
3893 <https://webkit.org/b/127208>
3895 Make computedCSSPadding() take the Length as a const reference
3896 to avoid creating a temporary copy. This was showing up (0.2%)
3899 Reviewed by Anders Carlsson.
3901 * rendering/RenderBoxModelObject.h:
3902 * rendering/RenderBoxModelObject.cpp:
3903 (WebCore::RenderBoxModelObject::computedCSSPadding):
3905 2014-01-17 Anders Carlsson <andersca@apple.com>
3907 Add a callOnMainThreadAndWait variant in SocketStreamHandle
3908 https://bugs.webkit.org/show_bug.cgi?id=127180
3910 Reviewed by Geoffrey Garen.
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).
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):
3923 2014-01-17 Anders Carlsson <andersca@apple.com>
3925 Clean up PageCache classes
3926 https://bugs.webkit.org/show_bug.cgi?id=127202
3928 Reviewed by Andreas Kling.
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):
3952 2014-01-17 Andy Estes <aestes@apple.com>
3954 Work around a preprocessor warning in mediaControlsApple.js
3955 https://bugs.webkit.org/show_bug.cgi?id=127204
3957 Reviewed by Dan Bernstein.
3959 * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
3961 2014-01-17 Daniel Bates <dabates@apple.com>
3963 Fix the iOS build after <http://trac.webkit.org/changeset/162184>
3964 (https://bugs.webkit.org/show_bug.cgi?id=126856)
3966 Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
3967 Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
3971 2014-01-17 Andreas Kling <akling@apple.com>
3973 Remove unused TOUCH_ADJUSTMENT code.
3974 <https://webkit.org/b/127181>
3976 There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
3977 anymore, so nuke it from orbit.
3979 Reviewed by Anders Carlsson.
3981 * page/EventHandler.cpp:
3982 * page/EventHandler.h:
3984 * page/TouchAdjustment.cpp: Removed.
3985 * page/TouchAdjustment.h: Removed.
3986 * testing/Internals.cpp:
3987 * testing/Internals.h:
3988 * testing/Internals.idl:
3990 2014-01-17 Beth Dakin <bdakin@apple.com>
3992 Need a way to test the tile cache with margins enabled
3993 https://bugs.webkit.org/show_bug.cgi?id=127194
3995 <rdar://problem/15571327>
3997 Reviewed by Tim Horton.
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.
4003 To make this setting dynamic, we can no longer generate the Setting function, so
4004 we have to export the symbol manually.
4007 This new function on FrameView will call into RenderLayerBacking to add or remove
4009 * page/FrameView.cpp:
4010 (WebCore::FrameView::setBackgroundExtendsBeyondPage):
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):
4019 (WebCore::Settings::backgroundShouldExtendBeyondPage):
4022 Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change
4024 * platform/graphics/ca/mac/TileController.mm:
4025 (WebCore::TileController::setTileMargins):
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:
4034 New InternalSetting.
4035 * testing/InternalSettings.cpp:
4036 (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
4037 * testing/InternalSettings.h:
4038 * testing/InternalSettings.idl:
4040 2014-01-17 Anders Carlsson <andersca@apple.com>
4042 Remove another unused FrameLoaderClient callback
4043 https://bugs.webkit.org/show_bug.cgi?id=127192
4045 Reviewed by Dan Bernstein.
4047 FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
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):
4064 2014-01-17 Anders Carlsson <andersca@apple.com>
4066 Remove FrameLoaderClient::didPerformFirstNavigation()
4067 https://bugs.webkit.org/show_bug.cgi?id=127191
4069 Reviewed by Dan Bernstein.
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):
4079 2014-01-17 Anders Carlsson <andersca@apple.com>
4081 Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
4082 https://bugs.webkit.org/show_bug.cgi?id=127189
4084 Reviewed by Dan Bernstein.