1 2014-01-05 Csaba Osztrogonác <ossy@webkit.org>
5 * page/PageThrottler.h:
7 2014-01-05 Csaba Osztrogonác <ossy@webkit.org>
9 Weekend URTBF after r161319 to make non Mac builds work again.
11 * page/PageThrottler.h:
13 2014-01-05 Gavin Barraclough <barraclough@apple.com>
15 Move process suppression of WebProcess to Page (from UIProcess)
16 https://bugs.webkit.org/show_bug.cgi?id=126480
18 Reviewed by Sam Weinig.
20 Let each page take a UserActivity rather than having to coalesce this state, and take different activity
21 tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
25 (WebCore::Page::setIsVisuallyIdle):
27 - setThrottled -> setIsVisuallyIdle.
28 * page/PageThrottler.cpp:
29 (WebCore::PageThrottler::PageThrottler):
30 - Initialize m_visuallyNonIdle.
31 (WebCore::PageThrottler::~PageThrottler):
32 - setThrottled -> setIsVisuallyIdle.
33 (WebCore::PageThrottler::setIsVisuallyIdle):
34 - Use m_visuallyNonIdle to disable supression when the page is not visually idle.
35 * page/PageThrottler.h:
36 - setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.
38 2014-01-04 Sam Weinig <sam@webkit.org>
40 Move a few more functions from RenderBlock to RenderBlockFlow
41 https://bugs.webkit.org/show_bug.cgi?id=126494
43 Reviewed by Andreas Kling.
45 * rendering/RenderBlock.h:
46 * rendering/RenderBlockFlow.h:
47 (WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):
48 * rendering/RenderBlockLineLayout.cpp:
49 (WebCore::RenderBlockFlow::textAlignmentForLine):
50 (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
51 (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
52 These are only used by RenderBlockFlow, so move them there.
54 2014-01-04 Simon Fraser <simon.fraser@apple.com>
56 Prepare the ScrollingTree for remote use
57 https://bugs.webkit.org/show_bug.cgi?id=126493
59 Reviewed by Sam Weinig.
61 When committing the scrolling tree, we clone the ScrollingStateTree
62 to hand off to another thread, or (in future) to encode to send to the
63 UI process. During this cloning process, two types of layer transformations
64 take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
65 For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
66 Allow the ScrollingCoordinator to specify which type of transformation occurs
67 by giving ScrollingStateTree a LayerRepresentation::Type member,
68 which is consulted during ScrollingStateNode cloning.
70 Also only copy layers that have changed to avoid setting dirty bits.
72 Expose some other stuff on ScrollingStateTree which will be needed for
75 * page/scrolling/ScrollingStateFixedNode.cpp:
76 (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
77 * page/scrolling/ScrollingStateNode.cpp:
78 (WebCore::ScrollingStateNode::ScrollingStateNode):
79 * page/scrolling/ScrollingStateNode.h:
80 (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
81 (WebCore::LayerRepresentation::toRepresentation):
82 (WebCore::ScrollingStateNode::changedProperties):
83 (WebCore::ScrollingStateNode::setChangedProperties):
84 (WebCore::ScrollingStateNode::parentNodeID):
85 * page/scrolling/ScrollingStateScrollingNode.cpp:
86 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
87 * page/scrolling/ScrollingStateStickyNode.cpp:
88 (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
89 * page/scrolling/ScrollingStateTree.cpp:
90 (WebCore::ScrollingStateTree::ScrollingStateTree):
91 (WebCore::ScrollingStateTree::commit):
92 (WebCore::ScrollingStateTree::setRemovedNodes):
93 (WebCore::ScrollingStateTree::stateNodeForID):
94 * page/scrolling/ScrollingStateTree.h:
95 (WebCore::ScrollingStateTree::nodeCount):
96 (WebCore::ScrollingStateTree::nodeMap):
97 (WebCore::ScrollingStateTree::preferredLayerRepresentation):
98 (WebCore::ScrollingStateTree::setPreferredLayerRepresentation):
99 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
100 (WebCore::ScrollingCoordinatorMac::commitTreeState):
102 2014-01-04 Sam Weinig <sam@webkit.org>
104 Move LineBreaker functions to LineBreaker.cpp
105 https://bugs.webkit.org/show_bug.cgi?id=126491
107 Reviewed by Simon Fraser.
109 - Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to
110 LineBreaker.cpp from RenderBlockLineLayout.cpp
111 - Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp
113 - Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid
116 * rendering/RenderBlockLineLayout.cpp:
117 (WebCore::updateLogicalInlinePositions):
118 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
119 * rendering/line/BreakingContextInlineHeaders.h:
120 (WebCore::BreakingContext::handleEndOfLine):
121 * rendering/line/LineBreaker.cpp:
122 (WebCore::LineBreaker::nextLineBreak):
123 (WebCore::LineBreaker::nextSegmentBreak):
124 * rendering/line/LineWidth.cpp:
125 (WebCore::requiresIndent):
126 * rendering/line/LineWidth.h:
128 2014-01-04 Martin Robinson <mrobinson@igalia.com>
130 [GTK] [CMake] Fix the video and audio build
131 https://bugs.webkit.org/show_bug.cgi?id=126464
133 Reviewed by Philippe Normand.
135 * PlatformGTK.cmake: Complete the audio and video source lists.
137 2014-01-04 Zan Dobersek <zdobersek@igalia.com>
139 Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
140 https://bugs.webkit.org/show_bug.cgi?id=126439
142 Reviewed by Andreas Kling.
144 Instead of relying on std::pair and std::make_pair symbols being present in the current scope
145 through the pair and make_pair symbols, the std:: specifier should be used explicitly.
147 * Modules/webdatabase/DatabaseTracker.cpp:
148 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
149 * accessibility/AXObjectCache.h:
150 * accessibility/AccessibilityARIAGridCell.cpp:
151 (WebCore::AccessibilityARIAGridCell::rowIndexRange):
152 (WebCore::AccessibilityARIAGridCell::columnIndexRange):
153 * accessibility/AccessibilityARIAGridCell.h:
154 * accessibility/AccessibilityObject.h:
155 * accessibility/AccessibilityRenderObject.cpp:
156 (WebCore::AccessibilityRenderObject::mathPrescripts):
157 (WebCore::AccessibilityRenderObject::mathPostscripts):
158 * accessibility/AccessibilityTable.cpp:
159 (WebCore::AccessibilityTable::cellForColumnAndRow):
160 * accessibility/AccessibilityTableCell.cpp:
161 (WebCore::AccessibilityTableCell::rowIndexRange):
162 (WebCore::AccessibilityTableCell::columnIndexRange):
163 * accessibility/AccessibilityTableCell.h:
164 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
165 (webkitAccessibleTableGetColumnAtIndex):
166 (webkitAccessibleTableGetRowAtIndex):
167 (webkitAccessibleTableGetColumnExtentAt):
168 (webkitAccessibleTableGetRowExtentAt):
169 (webkitAccessibleTableGetColumnHeader):
170 (webkitAccessibleTableGetRowHeader):
171 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
172 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
173 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
174 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
175 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
176 (convertMathPairsToNSArray):
177 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
178 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
179 * bindings/js/SerializedScriptValue.cpp:
180 * dom/ContainerNode.cpp:
181 * dom/StyledElement.cpp:
182 (WebCore::attributeNameSort):
183 * html/MediaFragmentURIParser.cpp:
184 (WebCore::MediaFragmentURIParser::parseTimeFragment):
185 * html/parser/HTMLMetaCharsetParser.h:
186 * inspector/ContentSearchUtils.cpp:
187 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
188 (WebCore::ContentSearchUtils::searchInTextByLines):
189 * inspector/DOMPatchSupport.cpp:
190 (WebCore::DOMPatchSupport::diff):
191 (WebCore::DOMPatchSupport::innerPatchChildren):
192 * inspector/DOMPatchSupport.h:
193 * inspector/InspectorAgent.cpp:
194 (WebCore::InspectorAgent::enable):
195 (WebCore::InspectorAgent::evaluateForTestInFrontend):
196 * inspector/InspectorAgent.h:
197 * loader/FormSubmission.cpp:
198 (WebCore::FormSubmission::create):
199 * loader/cache/CachedImage.cpp:
200 (WebCore::CachedImage::brokenImage):
201 * loader/cache/CachedImage.h:
203 (WebCore::findHostnamesInMailToURL):
204 (WebCore::encodeHostnames):
205 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
206 * platform/graphics/FontCache.cpp:
207 (WebCore::FontCache::getCachedFontData):
208 * platform/graphics/WidthIterator.cpp:
209 * platform/network/HTTPHeaderMap.cpp:
210 (WebCore::HTTPHeaderMap::adopt):
211 * platform/network/ResourceResponseBase.cpp:
212 (WebCore::ResourceResponseBase::parseCacheControlDirectives):
213 (WebCore::parseCacheHeader):
214 * platform/text/AtomicStringKeyedMRUCache.h:
215 * platform/text/LineBreakIteratorPoolICU.h:
216 * rendering/InlineFlowBox.h:
217 * rendering/RenderImage.cpp:
218 (WebCore::RenderImage::imageSizeForError):
219 (WebCore::RenderImage::paintReplaced):
220 * rendering/RenderTableSection.cpp:
221 (WebCore::RenderTableSection::cachedCollapsedBorder):
222 * rendering/RenderTableSection.h:
223 * rendering/svg/SVGTextRunRenderingContext.cpp:
224 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
225 * svg/SVGAnimatedAngle.cpp:
226 (WebCore::SVGAnimatedAngleAnimator::constructFromString):
227 (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
228 (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
229 * svg/SVGAnimatedIntegerOptionalInteger.cpp:
230 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
231 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
232 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
233 * svg/SVGAnimatedNumberOptionalNumber.cpp:
234 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
235 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
236 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
237 * svg/SVGAnimatedType.cpp:
238 (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
239 (WebCore::SVGAnimatedType::createNumberOptionalNumber):
240 * svg/SVGAnimatedType.h:
241 (WebCore::SVGAnimatedType::integerOptionalInteger):
242 (WebCore::SVGAnimatedType::numberOptionalNumber):
243 * svg/SVGAnimatedTypeAnimator.h:
244 (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
245 (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
246 * svg/SVGParserUtilities.h:
247 * svg/animation/SMILTimeContainer.h:
249 2014-01-03 Simon Fraser <simon.fraser@apple.com>
251 Attempt to fix EFL build.
253 * page/scrolling/ScrollingStateTree.cpp:
254 (WebCore::ScrollingStateTree::setHasChangedProperties):
256 2014-01-03 Simon Fraser <simon.fraser@apple.com>
258 Clean up the means of committing the scrolling state tree
259 https://bugs.webkit.org/show_bug.cgi?id=126482
261 Reviewed by Tim Horton.
263 ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
264 after setPropertyChanged() in lots of places, which was repetitive, and
265 AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.
267 Clean up both of these with a clearer trigger for state tree commits.
268 ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
269 which turns around and tells the ScrollingCoordinator that the state tree became dirty.
271 * page/scrolling/AsyncScrollingCoordinator.cpp:
272 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
273 (WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
274 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
275 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
276 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
277 (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
278 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
279 (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
280 (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
281 (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
282 (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
283 (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
284 (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
285 (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
286 (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
287 * page/scrolling/AsyncScrollingCoordinator.h:
288 * page/scrolling/ScrollingStateFixedNode.cpp:
289 (WebCore::ScrollingStateFixedNode::updateConstraints):
290 * page/scrolling/ScrollingStateNode.cpp:
291 (WebCore::ScrollingStateNode::setPropertyChanged):
292 (WebCore::ScrollingStateNode::setLayer):
293 * page/scrolling/ScrollingStateNode.h:
294 * page/scrolling/ScrollingStateScrollingNode.cpp:
295 (WebCore::ScrollingStateScrollingNode::setViewportRect):
296 (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
297 (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
298 (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
299 (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
300 (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
301 (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
302 (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
303 (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
304 (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
305 (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
306 (WebCore::ScrollingStateScrollingNode::setFooterHeight):
307 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
308 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
309 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
310 * page/scrolling/ScrollingStateStickyNode.cpp:
311 (WebCore::ScrollingStateStickyNode::updateConstraints):
312 * page/scrolling/ScrollingStateTree.cpp:
313 (WebCore::ScrollingStateTree::create):
314 (WebCore::ScrollingStateTree::ScrollingStateTree):
315 (WebCore::ScrollingStateTree::setHasChangedProperties):
316 (WebCore::ScrollingStateTree::didRemoveNode):
317 * page/scrolling/ScrollingStateTree.h:
318 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
319 (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
320 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
321 (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
323 2014-01-03 Simon Fraser <simon.fraser@apple.com>
325 Try to fix CoordinatedGraphics build after r161303. Remove implementations
326 which are now in the cross-platform file.
328 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
329 (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
330 (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
331 * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
332 * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
334 2014-01-03 Simon Fraser <simon.fraser@apple.com>
336 Simplify ScrollingStateNode references to various layer types
337 https://bugs.webkit.org/show_bug.cgi?id=126477
339 Reviewed by Tim Horton.
341 ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
342 confusing ways. In the main thread they have a GraphicsLayer*, but need
343 to check to see if the underlying PlatformLayer changed. Then, when
344 cloned to commit to the scrolling thread, they drop the GraphicsLayer
345 and store a PlatformLayer.
347 Hide the complexity (and prepare for the future) by adding LayerRepresentation,
348 which wraps various different flavors of layers, and knows how to check whether
349 the PlatformLayer underlying a GraphicsLayer changed.
351 ScrollingStateNode layer setters then just take and compare LayerRepresentations.
352 Copy constructors convert to a PlatformLayer representation (though not really
353 in the right place currently), and ScrollingTreeNodes get PlatformLayers.
355 * page/scrolling/AsyncScrollingCoordinator.cpp:
356 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
357 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
358 * page/scrolling/ScrollingStateFixedNode.cpp:
359 (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
360 * page/scrolling/ScrollingStateNode.cpp:
361 (WebCore::ScrollingStateNode::ScrollingStateNode):
362 (WebCore::ScrollingStateNode::setLayer):
363 * page/scrolling/ScrollingStateNode.h:
364 (WebCore::LayerRepresentation::LayerRepresentation):
365 (WebCore::LayerRepresentation::operator GraphicsLayer*):
366 (WebCore::LayerRepresentation::operator PlatformLayer*):
367 (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
368 (WebCore::LayerRepresentation::operator ==):
369 (WebCore::LayerRepresentation::toPlatformLayer):
370 (WebCore::LayerRepresentation::representsGraphicsLayer):
371 (WebCore::LayerRepresentation::representsPlatformLayer):
372 (WebCore::LayerRepresentation::representsPlatformLayerID):
373 (WebCore::ScrollingStateNode::layer):
374 * page/scrolling/ScrollingStateScrollingNode.cpp:
375 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
376 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
377 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
378 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
379 * page/scrolling/ScrollingStateScrollingNode.h:
380 * page/scrolling/ScrollingStateStickyNode.cpp:
381 (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
382 * page/scrolling/mac/ScrollingStateNodeMac.mm:
383 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
384 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
385 (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
386 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
387 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
388 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
389 (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
391 2014-01-03 Brent Fulgham <bfulgham@apple.com>
393 [WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
394 https://bugs.webkit.org/show_bug.cgi?id=126470
395 <rdar://problem/15201370>
397 Reviewed by Dean Jackson.
399 Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
401 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
402 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
403 test while we do our blit, then reactivate if necessary.
405 2014-01-03 Brent Fulgham <bfulgham@apple.com>
407 [WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
408 https://bugs.webkit.org/show_bug.cgi?id=126468
410 Reviewed by Dean Jackson.
412 Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
414 * platform/graphics/mac/GraphicsContext3DMac.mm:
415 (WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
416 kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
417 (WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
418 method so we can turn on MSAA features when needed.
420 2014-01-03 Simon Fraser <simon.fraser@apple.com>
422 Give all PlatformCALayers a PlatformLayerID, not just remote ones
423 https://bugs.webkit.org/show_bug.cgi?id=126466
425 Reviewed by Tim Horton.
427 The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
428 which is confusing, and is necessary because the underlying PlatformLayer
429 inside a GraphicsLayer can change. In order to hide some of this complexity,
430 expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
431 can hold onto to test for underlying layer swapping.
433 Also constify LayerType m_layerType on PlatformCALayer, which required
434 cleaning up the construction of PlatformCALayerMac in the case where a
435 PlatformCALayerMac is wrapping an existing CALayer (which happens for video).
438 * platform/graphics/GraphicsLayer.h:
439 (WebCore::GraphicsLayer::primaryLayerID):
440 * platform/graphics/ca/GraphicsLayerCA.cpp:
441 (WebCore::GraphicsLayerCA::primaryLayerID):
442 * platform/graphics/ca/GraphicsLayerCA.h:
443 * platform/graphics/ca/PlatformCALayer.cpp:
444 (WebCore::generateLayerID):
445 (WebCore::PlatformCALayer::PlatformCALayer):
446 * platform/graphics/ca/PlatformCALayer.h:
447 (WebCore::PlatformCALayer::layerID):
448 * platform/graphics/ca/mac/PlatformCALayerMac.h:
449 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
450 (PlatformCALayerMac::create):
451 (PlatformCALayerMac::PlatformCALayerMac):
452 (PlatformCALayerMac::commonInit):
454 2014-01-03 Andreas Kling <akling@apple.com>
456 Add lineageOfType renderer iterator and start using it.
457 <https://webkit.org/b/126456>
459 Add a convenient way to iterate over a renderers ancestry *including*
460 the starting point renderer (if it meets the type criteria.)
462 This works just like lineageOfType for Elements.
464 Reviewed by Geoffrey Garen.
466 * rendering/RenderAncestorIterator.h:
467 (WebCore::lineageOfType):
469 Added. Returns an adapter for walking a renderer's entire lineage
470 matching any renderer of the given type.
472 * rendering/RenderBoxModelObject.h:
473 * rendering/RenderLayerModelObject.h:
475 Add the requisite isRendererOfType<T> helpers.
477 * rendering/RenderBox.cpp:
478 (WebCore::RenderBox::enclosingFloatPaintingLayer):
479 * rendering/RenderObject.cpp:
480 (WebCore::RenderObject::enclosingLayer):
481 (WebCore::RenderObject::enclosingBox):
482 (WebCore::RenderObject::enclosingBoxModelObject):
484 Simplify with lineageOfType. Added some FIXMEs about functions
485 that should return references instead of pointers.
487 2014-01-03 Martin Robinson <mrobinson@igalia.com>
489 Small build fix for the GTK+ CMake port
491 * PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs
492 used to generate GObject DOM bindings.
494 2014-01-03 Daniel Bates <dabates@apple.com>
496 [iOS] Upstream WebCore/css changes
497 https://bugs.webkit.org/show_bug.cgi?id=126237
499 Reviewed by Simon Fraser.
501 * css/CSSComputedStyleDeclaration.cpp:
502 (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
504 (WebCore::CSSParserContext::CSSParserContext): Ditto.
505 (WebCore::CSSParser::parseValue): Ditto.
506 * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
507 * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
508 * css/DeprecatedStyleBuilder.cpp:
509 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
510 * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
511 * css/MediaQueryEvaluator.cpp:
512 (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
513 (WebCore::video_playable_inlineMediaFeatureEval): Added.
514 * css/StyleResolver.cpp:
515 (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
516 (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
517 * css/html.css: Added iOS-specific CSS styles.
518 (input, textarea, keygen, select, button, isindex):
520 (input[type="date"]):
521 (input[type="datetime"]):
522 (input[type="datetime-local"]):
523 (input[type="month"]):
524 (input[type="time"]):
526 (input:-webkit-autofill):
527 (input[type="radio"], input[type="checkbox"]):
528 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
529 (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
530 (input[type="range"]::-webkit-slider-thumb:active):
531 (input:disabled, textarea:disabled):
532 (input[readonly], textarea[readonly]):
533 (textarea::-webkit-input-placeholder):
534 (input[type="checkbox"]):
535 (input[type="radio"]):
536 (input[type="checkbox"]:checked, input[type="radio"]:checked):
537 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
540 * css/mathml.css: Added iOS-specific CSS styles.
543 * css/mediaControlsiOS.css: Added.
544 * css/svg.css: Added iOS-specific CSS styles.
547 2014-01-03 Brent Fulgham <bfulgham@apple.com>
549 [WebGL] glScissor test is not accounted for when generating internal rendering textures.
550 https://bugs.webkit.org/show_bug.cgi?id=126455
551 <rdar://problem/15744206>
553 Reviewed by Dean Jackson.
555 Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html
557 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
558 (WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
559 our internal drawing, then turn them back on for further processing.
561 2014-01-03 Simon Fraser <simon.fraser@apple.com>
563 Maybe fix Windows build.
565 * WebCore.vcxproj/copyForwardingHeaders.cmd:
567 2014-01-03 Jer Noble <jer.noble@apple.com>
569 [MediaControls][iOS] Enable JavaScript Media Controls on iOS.
570 https://bugs.webkit.org/show_bug.cgi?id=126440
572 Reviewed by Eric Carlson.
574 Drive-by misspelling fix, and add a convenience function to check if the
575 controls are currently hidden:
576 * Modules/mediacontrols/mediaControlsApple.js:
577 (Controller.prototype.handleWrapperMouseMove):
578 (Controller.prototype.handleWrapperMouseOut):
579 (Controller.prototype.updatePlaying):
580 (Controller.prototype.controlsAreHidden): Added.
582 Add a new subclass of Controller for iOS and a matching CSS:
583 * Modules/mediacontrols/mediaControlsiOS.css: Added.
584 * Modules/mediacontrols/mediaControlsiOS.js: Added.
585 (createControls): Override the createControls() in mediaControlsApple.js.
586 (ControllerIOS): Define a new class.
587 (ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent
589 (ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
590 (ControllerIOS.prototype.createControls): Ditto.
591 (ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full
593 (ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
594 (ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
595 (ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
596 (ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
597 (ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
598 (ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
599 (ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
600 (ControllerIOS.prototype.handlePanelTouchCancel): Ditto.
602 Drive-by fix to enable the JavaScript controls when the plugin is disabled:
603 * html/HTMLMediaElement.cpp:
604 (WebCore::HTMLMediaElement::parseAttribute):
606 Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:
607 * rendering/RenderThemeIOS.mm:
608 (WebCore::RenderThemeIOS::mediaControlsScript):
610 Add new files to project:
611 * DerivedSources.make:
612 * WebCore.xcodeproj/project.pbxproj:
614 2014-01-03 Simon Fraser <simon.fraser@apple.com>
616 Allow the ChromeClient to provide a custom ScrollingCoordinator
617 https://bugs.webkit.org/show_bug.cgi?id=126450
619 Reviewed by Tim Horton.
621 Some platforms will want to provide a custom ScrollingCoordinator, so let
622 them do so by asking ChromeClient first for one.
624 * page/ChromeClient.h:
625 (WebCore::ChromeClient::createScrollingCoordinator):
627 (WebCore::Page::scrollingCoordinator):
629 2014-01-03 Andreas Kling <akling@apple.com>
631 Deploy more child renderer iterators in RenderBlockFlow.
632 <https://webkit.org/b/126434>
634 Reviewed by Sam Weinig.
636 * rendering/RenderBlockFlow.cpp:
637 (WebCore::shouldCheckLines):
639 Make this helper take a RenderBlockFlow instead of a RenderObject
640 and simplified it a bit. RenderDeprecatedFlexibleBox does not
641 derive from RenderBlockFlow so those checks can be omitted.
643 (WebCore::RenderBlockFlow::layoutBlock):
644 (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
645 (WebCore::RenderBlockFlow::lineAtIndex):
646 (WebCore::RenderBlockFlow::lineCount):
647 (WebCore::RenderBlockFlow::clearTruncation):
649 Use childrenOfType to iterate over block and block-flow children.
650 Tweaked some early return/continue to reduce nesting.
652 2014-01-03 Simon Fraser <simon.fraser@apple.com>
654 Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
655 https://bugs.webkit.org/show_bug.cgi?id=126445
657 Reviewed by Tim Horton.
659 Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
660 by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
661 this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
662 a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).
664 Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
665 since by definition a threaded scrolling tree uses an async coordinator.
667 * page/scrolling/AsyncScrollingCoordinator.h:
668 * page/scrolling/ScrollingTree.cpp:
669 (WebCore::ScrollingTree::updateTreeFromStateNode):
670 * page/scrolling/ScrollingTree.h:
671 * page/scrolling/ScrollingTreeScrollingNode.h:
672 * page/scrolling/ThreadedScrollingTree.cpp:
673 (WebCore::ThreadedScrollingTree::create):
674 (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
675 (WebCore::ThreadedScrollingTree::createNode):
676 * page/scrolling/ThreadedScrollingTree.h:
677 * page/scrolling/mac/ScrollingCoordinatorMac.h:
678 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
679 (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
680 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
681 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
682 (WebCore::ScrollingTreeScrollingNodeMac::create):
684 2014-01-03 Gavin Barraclough <barraclough@apple.com>
686 Refactor NSActivity handling code from ChildProcess to UserActivity
687 https://bugs.webkit.org/show_bug.cgi?id=126330
689 Unreviewed build fix.
691 * platform/UserActivity.h:
694 2014-01-02 Gavin Barraclough <barraclough@apple.com>
696 Refactor NSActivity handling code from ChildProcess to UserActivity
697 https://bugs.webkit.org/show_bug.cgi?id=126330
699 Reviewed by Sam Weinig.
701 UserActivity is a mechanism to express to the operating system (where appropriate)
702 that a user initiated activity is taking place, and as such that resources should be
703 made available to the process accordingly.
705 Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
706 to hold different activity tokens for different user actions (which simplifies the
707 handling, and aides debugging since the token can more accurately express the activity
708 taking place), and also will allow us to avoid the layering difficulty of calling back
709 up the stack to WebKit to register that an activity is taking place.
711 * WebCore.xcodeproj/project.pbxproj:
713 * platform/UserActivity.cpp: Added.
714 (WebCore::UserActivity::UserActivity):
715 - nop implementation - ignore description.
716 (WebCore::UserActivity::beginActivity):
717 (WebCore::UserActivity::endActivity):
718 - nop implementation - just inc/dec m_count.
719 * platform/UserActivity.h: Added.
720 (WebCore::UserActivity::isActive):
721 - returns true if one or more instance of this activity is in progress.
722 * platform/mac/UserActivityMac.mm: Added.
723 (WebCore::UserActivity::UserActivity):
724 - constructor accepts one argument, a description string.
725 (WebCore::UserActivity::isValid):
726 - used by assertions.
727 (WebCore::UserActivity::beginActivity):
728 (WebCore::UserActivity::endActivity):
729 - track start/end of an activity - calls to these methods should be balanced.
730 (WebCore::UserActivity::hysteresisTimerFired):
731 - used to implement hysteresis in releasing NSActivity.
733 2014-01-03 Alexey Proskuryakov <ap@apple.com>
735 Line ending conversion should be able to handle strings with null chars
736 https://bugs.webkit.org/show_bug.cgi?id=126202
738 This is a merge from Blink.
740 Reviewed by Alexey Proskuryakov.
742 Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html
744 * platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.
746 2014-01-03 Alberto Garcia <berto@igalia.com>
748 WebKit-GTK 1.8.1 does not build on OS X 10.7
749 https://bugs.webkit.org/show_bug.cgi?id=88407
751 Reviewed by Carlos Garcia Campos.
753 Replace non-portable 'echo -n' with 'true'.
757 2014-01-03 peavo@outlook.com <peavo@outlook.com>
759 [WinCairo] Compile error.
760 https://bugs.webkit.org/show_bug.cgi?id=126428
762 Reviewed by Brent Fulgham.
764 The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.
766 * loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
767 * loader/cache/MemoryCache.h: Ditto.
769 2014-01-03 Hans Muller <hmuller@adobe.com>
771 [CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
772 https://bugs.webkit.org/show_bug.cgi?id=125995
774 Reviewed by Andreas Kling.
776 Cleanup of various internal Shape issues:
777 - Removed unnecessary Shape() initialization list entries in Shape subclasses
778 per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
779 - Used const references instead of pointers for non-deprecated Shape:createShape() logic.
780 - Replaced createShape() overloads for Rasters and Boxes with functions named
781 createRasterShape() and createBoxShape().
782 - Added a FloatRoundedRect::Radii() constructor to reduce the parameter list
783 length of the FloatRoundedRect constructor in createBoxShape().
785 There are no new tests, this is just internal refactoring.
787 * platform/graphics/FloatRoundedRect.h:
788 (WebCore::FloatRoundedRect::Radii::Radii):
789 * rendering/shapes/BoxShape.h:
790 (WebCore::BoxShape::BoxShape):
791 * rendering/shapes/PolygonShape.h:
792 (WebCore::PolygonShape::PolygonShape):
793 * rendering/shapes/RasterShape.h:
794 (WebCore::RasterShape::RasterShape):
795 * rendering/shapes/RectangleShape.h:
796 (WebCore::RectangleShape::RectangleShape):
797 * rendering/shapes/Shape.cpp:
798 (WebCore::createInsetShape):
799 (WebCore::Shape::createShape):
800 (WebCore::Shape::createRasterShape):
801 (WebCore::Shape::createBoxShape):
802 * rendering/shapes/Shape.h:
803 * rendering/shapes/ShapeInfo.cpp:
804 (WebCore::ShapeInfo<RenderType>::computedShape):
806 2014-01-03 Andreas Kling <akling@apple.com>
808 Remove unused Document::openSearchDescriptionURL().
809 <https://webkit.org/b/126419>
811 Reviewed by Antti Koivisto.
816 Scrub leftovers from the defunct Chromium port.
818 2014-01-03 Jinwoo Song <jinwoo7.song@samsung.com>
820 VibrationPattern should allocate an single vector instance for single integer input
821 https://bugs.webkit.org/show_bug.cgi?id=126417
823 Reviewed by Gyuyoung Kim.
825 When the Vibration pattern is set with a single integer, the VibrationPattern should
826 be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
827 initialized with a single parameter, the vibration time, so the time was used to set
830 * Modules/vibration/NavigatorVibration.cpp:
831 (WebCore::NavigatorVibration::vibrate):
833 2014-01-02 Jaehun Lim <ljaehun.lim@samsung.com>
835 IconController.cpp needs to include <wtf/text/CString.h>
836 https://bugs.webkit.org/show_bug.cgi?id=126415
838 Reviewed by Gyuyoung Kim.
840 Build fails in IconController.cpp when ICONDATABASE is disabled.
841 WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
842 IconController.cpp needs #include <wtf/text/CString.h>.
844 No new tests. Just build fix.
846 * loader/icon/IconController.cpp: Add #include statement.
848 2014-01-02 Ryuan Choi <ryuan.choi@samsung.com>
850 [EFL] Previous scrollbar is remained sometimes
851 https://bugs.webkit.org/show_bug.cgi?id=126414
853 Reviewed by Gyuyoung Kim.
855 * platform/efl/ScrollbarEfl.cpp:
856 (ScrollbarEfl::invalidate):
857 Updated scrollbar visibility in Scrollbar::invalidate().
858 * platform/efl/ScrollbarEfl.h:
859 Removed show()/hide() which never been called() for scrollbar.
861 2014-01-02 Brent Fulgham <bfulgham@apple.com>
863 [WebGL] Correct symbol lookup logic to handle 1-element arrays
864 https://bugs.webkit.org/show_bug.cgi?id=126411
865 <rdar://problem/15394564>
867 Reviewed by Dean Jackson.
869 Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html
871 * html/canvas/WebGLRenderingContext.cpp:
872 (WebCore::WebGLRenderingContext::getUniformLocation): Revise to
873 handle access to zeroeth element of the array.
875 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
877 Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
878 https://bugs.webkit.org/show_bug.cgi?id=126252
880 Reviewed by Alexey Proskuryakov.
882 lastIntermediate was a iterator pointing into a Vector, which was being re-used
883 even while appending to the Vector. If any of the append operators triggered
884 a realloc, the iterator would point to the old free'ed memory.
886 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html
888 * rendering/InlineTextBox.cpp:
889 (WebCore::translateIntersectionPointsToSkipInkBoundaries):
891 2014-01-02 Brent Fulgham <bfulgham@apple.com>
893 [WebGL] Correct symbol lookup logic to handle 1-element arrays
894 https://bugs.webkit.org/show_bug.cgi?id=126411
895 <rdar://problem/15394564>
897 Reviewed by Dean Jackson.
899 * html/canvas/WebGLRenderingContext.cpp:
900 (WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
903 2014-01-02 Sam Weinig <sam@webkit.org>
905 Update Promises to the https://github.com/domenic/promises-unwrapping spec
906 https://bugs.webkit.org/show_bug.cgi?id=120954
908 Reviewed by Filip Pizlo.
910 * ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
911 * ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
912 * bindings/js/JSDOMGlobalObjectTask.cpp:
913 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
914 * bindings/js/JSDOMGlobalObjectTask.h:
915 * bindings/js/JSDOMPromise.cpp:
916 (WebCore::DeferredWrapper::DeferredWrapper):
917 (WebCore::DeferredWrapper::promise):
918 (WebCore::DeferredWrapper::resolve):
919 (WebCore::DeferredWrapper::reject):
920 * bindings/js/JSDOMPromise.h:
921 (WebCore::DeferredWrapper::resolve):
922 (WebCore::DeferredWrapper::reject):
923 (WebCore::DeferredWrapper::resolve<String>):
924 (WebCore::DeferredWrapper::resolve<bool>):
926 (WebCore::DeferredWrapper::reject<String>):
927 * bindings/js/JSDOMWindowBase.cpp:
928 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
929 * bindings/js/JSDOMWindowBase.h:
930 * bindings/js/JSSubtleCryptoCustom.cpp:
931 (WebCore::JSSubtleCrypto::encrypt):
932 (WebCore::JSSubtleCrypto::decrypt):
933 (WebCore::JSSubtleCrypto::sign):
934 (WebCore::JSSubtleCrypto::verify):
935 (WebCore::JSSubtleCrypto::digest):
936 (WebCore::JSSubtleCrypto::generateKey):
937 (WebCore::JSSubtleCrypto::importKey):
938 (WebCore::JSSubtleCrypto::exportKey):
939 (WebCore::JSSubtleCrypto::wrapKey):
940 (WebCore::JSSubtleCrypto::unwrapKey):
941 * bindings/js/JSWorkerGlobalScopeBase.cpp:
942 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
943 * bindings/js/JSWorkerGlobalScopeBase.h:
945 2014-01-02 Tim Horton <timothy_horton@apple.com>
947 ImageBufferBackingStoreCache should use DeferrableOneShotTimer
948 https://bugs.webkit.org/show_bug.cgi?id=126155
950 Reviewed by Anders Carlsson.
952 Since ImageBufferBackingStoreCache's purge timer is pushed out every time
953 a backing store is deallocated, we can easily waste a lot of time rescheduling
954 the timer. Since it's a cache purge timer and doesn't need that kind of precision,
955 adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.
957 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
958 (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
959 (WebCore::ImageBufferBackingStoreCache::timerFired):
960 (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
961 * platform/graphics/cg/ImageBufferBackingStoreCache.h:
963 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
965 Allow ImageBuffer to re-use IOSurfaces
966 https://bugs.webkit.org/show_bug.cgi?id=125477
968 Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.
970 This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
973 This test adds a static class, ImageBufferBackingStoreCache, that vends
974 IOSurfaces. It remembers IOSurfaces that have been returned to it until
975 a configurable timeout.
977 The storage used by this class is in the form of a HashMap from a
978 bucketed size to the IOSurface. There are many other data structures
979 that could be used, but this implementation gives a 80% hit rate on
980 normal browsing of some example sites with Canvas and
981 text-decoration-skip: ink. Because the buckets are fairly
982 small (rounding the width and height up to multiples of 8), traversing the
983 bucket contents takes on average 2 steps.
985 Test: fast/canvas/canvas-backing-store-reuse.html
987 * WebCore.xcodeproj/project.pbxproj: Added new caching class
988 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.
989 (WebCore::createIOSurface): Copied from ImageBufferCG.cpp
990 (WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
992 (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
993 (WebCore::ImageBufferBackingStoreCache::get): Static getter
994 (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
995 (WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
997 (WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
999 (WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
1000 IOSurface fit the bill?
1001 (WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
1002 a bucket and walk through its contents
1003 (WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
1004 for clients who want a IOSurface from the cache
1005 (WebCore::ImageBufferBackingStoreCache::deallocate): Public
1006 function for clients to return an IOSurface to the pool
1007 * platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.
1008 (WebCore::ImageBuffer::ImageBuffer):
1009 (WebCore::ImageBuffer::~ImageBuffer):
1011 2014-01-02 Piotr Grad <p.grad@samsung.com>
1013 Video-seek-with-negative-playback was flaky.
1014 https://bugs.webkit.org/show_bug.cgi?id=126379
1016 Reviewed by Eric Carlson.
1018 No new tests. Covered by existing tests.
1020 m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
1021 on endedPlayback(), which checks m_playbackRate.
1023 * html/HTMLMediaElement.cpp:
1024 (WebCore::HTMLMediaElement::setPlaybackRate):
1026 2014-01-02 Daniel Bates <dabates@apple.com>
1028 [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
1029 (also crashes when scrolling certain sites)
1030 https://bugs.webkit.org/show_bug.cgi?id=126401
1031 <rdar://problem/15739334>
1033 Reviewed by Tim Horton.
1035 * page/ios/EventHandlerIOS.mm:
1036 (WebCore::currentEventSlot): Make the shared variable have static-storage duration.
1038 2014-01-02 Gavin Barraclough <barraclough@apple.com>
1040 Remove WindowIsVisible
1041 https://bugs.webkit.org/show_bug.cgi?id=126270
1043 Reviewed by Tim Horton.
1045 We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
1046 The latter detects that the content is hidden in fewer cases than the former, and as such, the
1047 former is always preferable.
1049 This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
1050 Plugin::windowVisibilityChanged.
1053 * page/FocusController.cpp:
1054 (WebCore::FocusController::FocusController):
1055 (WebCore::FocusController::setContentIsVisible):
1056 * page/FocusController.h:
1057 - rename ContainingWindowIsVisible -> ContentIsVisible.
1059 2014-01-02 Gavin Barraclough <barraclough@apple.com>
1061 Merge didMoveOnscreen / page visibility to isVisible
1062 https://bugs.webkit.org/show_bug.cgi?id=126268
1064 Reviewed by Tim Horton.
1066 The onscreen state most closely tracks view visibility (though currently
1067 also tracks a mix of in-window state). Make more consistent, simplify,
1068 and move all animation suspension logic to Page, so it can be controlled
1069 by the PageThrottler.
1072 * page/EventHandler.cpp:
1073 (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
1074 * page/FrameView.cpp:
1075 (WebCore::FrameView::shouldSetCursor):
1077 (WebCore::Page::Page):
1078 - initialize new variables.
1079 (WebCore::Page::setIsVisible):
1080 - merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.
1081 (WebCore::Page::setIsPrerender):
1082 - switches visibility state from hidden to prerender.
1083 (WebCore::Page::visibilityState):
1084 - computed from m_isVisible, m_isPrerender.
1085 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1086 - m_visibilityState -> m_isVisible.
1088 - remove didMoveOnscreen/willMoveOffscreen
1089 m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender
1090 setVisibilityState -> setIsVisible & setIsPrerender.
1091 (WebCore::Page::isVisible):
1092 - isOnscreen -> isVisible.
1094 2014-01-02 Oliver Hunt <oliver@apple.com>
1096 Update bindings test results
1098 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1099 (WebCore::jsTestActiveDOMObjectConstructor):
1100 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1101 (WebCore::jsTestCustomNamedGetterConstructor):
1102 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1103 (WebCore::jsTestEventConstructorConstructor):
1104 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1105 (WebCore::jsTestEventTargetConstructor):
1106 * bindings/scripts/test/JS/JSTestException.cpp:
1107 (WebCore::jsTestExceptionConstructor):
1108 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1109 (WebCore::jsTestGenerateIsReachableConstructor):
1110 * bindings/scripts/test/JS/JSTestInterface.cpp:
1111 (WebCore::jsTestInterfaceConstructor):
1112 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1113 (WebCore::jsTestMediaQueryListListenerConstructor):
1114 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1115 (WebCore::jsTestNamedConstructorConstructor):
1116 * bindings/scripts/test/JS/JSTestNode.cpp:
1117 (WebCore::jsTestNodeConstructor):
1118 * bindings/scripts/test/JS/JSTestObj.cpp:
1119 (WebCore::jsTestObjConstructor):
1120 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1121 (WebCore::jsTestOverloadedConstructorsConstructor):
1122 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1123 (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
1124 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1125 (WebCore::jsTestTypedefsConstructor):
1126 * bindings/scripts/test/JS/JSattribute.cpp:
1127 (WebCore::jsattributeConstructor):
1128 * bindings/scripts/test/JS/JSreadonly.cpp:
1129 (WebCore::jsreadonlyConstructor):
1131 2013-12-23 Oliver Hunt <oliver@apple.com>
1133 Refactor PutPropertySlot to be aware of custom properties
1134 https://bugs.webkit.org/show_bug.cgi?id=126187
1136 Reviewed by Antti Koivisto.
1138 Update the bindings code generation and custom objects
1139 to the new function signatures
1141 * bindings/js/JSDOMWindowCustom.cpp:
1142 (WebCore::JSDOMWindow::put):
1143 * bindings/objc/WebScriptObject.mm:
1144 (-[WebScriptObject setValue:forKey:]):
1145 * bindings/scripts/CodeGeneratorJS.pm:
1146 (GenerateImplementation):
1147 * bindings/scripts/test/JS/JSTestInterface.cpp:
1148 (WebCore::JSTestInterface::putByIndex):
1149 * bridge/NP_jsobject.cpp:
1152 2014-01-02 Simon Fraser <simon.fraser@apple.com>
1154 Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
1155 https://bugs.webkit.org/show_bug.cgi?id=126389
1157 Reviewed by Tim Horton.
1159 Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
1160 and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
1162 * WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
1163 * page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
1164 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
1165 (WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
1166 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
1167 (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
1168 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
1169 (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
1170 (WebCore::AsyncScrollingCoordinator::attachToStateTree):
1171 (WebCore::AsyncScrollingCoordinator::detachFromStateTree):
1172 (WebCore::AsyncScrollingCoordinator::clearStateTree):
1173 (WebCore::AsyncScrollingCoordinator::syncChildPositions):
1174 (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
1175 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
1176 (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
1177 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
1178 (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
1179 (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
1180 (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
1181 (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
1182 (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
1183 (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
1184 (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
1185 (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
1186 (WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
1187 (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
1188 (WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
1189 (WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
1190 (WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
1191 * page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
1192 (WebCore::AsyncScrollingCoordinator::scrollingTree):
1193 (WebCore::AsyncScrollingCoordinator::setScrollingTree):
1194 (WebCore::AsyncScrollingCoordinator::scrollingStateTree):
1195 (WebCore::AsyncScrollingCoordinator::releaseScrollingTree):
1196 * page/scrolling/ScrollingCoordinator.h: Add casting support.
1197 (WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):
1198 * page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
1199 * page/scrolling/mac/ScrollingCoordinatorMac.h:
1200 * page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.
1201 (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
1202 (WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
1203 (WebCore::ScrollingCoordinatorMac::pageDestroyed):
1204 (WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
1205 (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
1206 (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
1207 (WebCore::ScrollingCoordinatorMac::commitTreeState):
1208 (WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
1210 2014-01-02 Andreas Kling <akling@apple.com>
1212 Simplify the insides of DocumentSharedObjectPool and reduce memory usage.
1214 Merging Blink r164152 by Elliott Sprehn.
1216 Instead of storing an OwnPtr to an object that has a pointer to the
1217 ShareableElementData as well as a pointer into the ShareableElementData
1218 and the length we can just store a RefPtr to the SharableElementData.
1220 This also reduces the memory usage of the pool by 2 pointers per entry.
1222 * dom/DocumentSharedObjectPool.h:
1223 * dom/DocumentSharedObjectPool.cpp:
1224 (WebCore::attributeHash):
1225 (WebCore::hasSameAttributes):
1226 (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
1228 2014-01-02 Dirk Schulze <krit@webkit.org>
1230 Support <box> values computed style for 'clip-path' property
1231 https://bugs.webkit.org/show_bug.cgi?id=126148
1233 Reviewed by Simon Fraser.
1235 Calculate computed style for 'clip-path' property.
1237 Updated tests to check for computed style.
1239 * css/BasicShapeFunctions.cpp: Add box value bounding-box.
1240 (WebCore::valueForBox):
1241 (WebCore::boxForValue):
1242 * css/CSSComputedStyleDeclaration.cpp: Return the computed style
1244 (WebCore::ComputedStyleExtractor::propertyValue):
1245 * css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.
1246 (WebCore::ApplyPropertyClipPath::applyValue):
1247 * rendering/ClipPathOperation.h: Add bounding-box value.
1248 (WebCore::ShapeClipPathOperation::pathForReferenceRect):
1249 (WebCore::ShapeClipPathOperation::setReferenceBox):
1250 (WebCore::ShapeClipPathOperation::referenceBox):
1251 (WebCore::BoxClipPathOperation::create):
1252 (WebCore::BoxClipPathOperation::pathForReferenceRect):
1253 (WebCore::BoxClipPathOperation::referenceBox):
1254 (WebCore::BoxClipPathOperation::BoxClipPathOperation):
1255 * rendering/shapes/ShapeInfo.h: Add bounding-box value.
1256 (WebCore::ShapeInfo::setShapeSize):
1257 (WebCore::ShapeInfo::logicalTopOffset):
1258 (WebCore::ShapeInfo::logicalLeftOffset):
1259 * rendering/style/BasicShapes.cpp: Add bounding-box value.
1260 (WebCore::BasicShape::referenceBoxSize):
1261 * rendering/style/BasicShapes.h:
1263 2014-01-02 Antti Koivisto <antti@apple.com>
1265 Always resolve style from root
1266 https://bugs.webkit.org/show_bug.cgi?id=126380
1268 Reviewed by Andreas Kling.
1270 Forced style resolve that does not start from the root is never really correct.
1271 Remove the few remaining instances.
1273 * dom/ShadowRoot.cpp:
1274 (WebCore::ShadowRoot::setResetStyleInheritance):
1276 Update style asynchronously.
1280 * html/HTMLPlugInImageElement.cpp:
1281 (WebCore::HTMLPlugInImageElement::createElementRenderer):
1282 (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
1283 (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
1285 Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
1286 No need for m_customStyleForPageCache hack.
1288 * html/HTMLPlugInImageElement.h:
1290 Remove m_customStyleForPageCache.
1292 * style/StyleResolveTree.cpp:
1293 * style/StyleResolveTree.h:
1295 Remove Element version of resolveTree from the interface.
1297 * svg/SVGUseElement.h:
1299 2014-01-02 Antti Koivisto <antti@apple.com>
1301 Remove PlaceholderDocument
1302 https://bugs.webkit.org/show_bug.cgi?id=126382
1304 Reviewed by Andreas Kling.
1306 Remove PlaceholderDocument class and replace it with a bit in Document.
1308 * WebCore.xcodeproj/project.pbxproj:
1310 (WebCore::Document::Document):
1311 (WebCore::Document::createRenderTree):
1314 Also make Synthesized a construction flag instead of a boolean parameter.
1316 (WebCore::Document::createNonRenderedPlaceholder):
1317 * html/HTMLDocument.cpp:
1318 (WebCore::HTMLDocument::HTMLDocument):
1319 * html/HTMLDocument.h:
1320 (WebCore::HTMLDocument::create):
1321 (WebCore::HTMLDocument::createSynthesizedDocument):
1322 * loader/DocumentWriter.cpp:
1323 (WebCore::DocumentWriter::createDocument):
1324 * loader/PlaceholderDocument.cpp: Removed.
1325 * loader/PlaceholderDocument.h: Removed.
1326 * pdf/ios/PDFDocument.h:
1327 (WebCore::PDFDocument::PDFDocument):
1329 2014-01-01 Antti Koivisto <antti@apple.com>
1331 Remove public attachRenderTree
1332 https://bugs.webkit.org/show_bug.cgi?id=126368
1334 Reviewed by Andreas Kling.
1336 Remove the remaining explicit render tree construction.
1339 (WebCore::Document::createRenderTree):
1341 Use recalcStyle() instead of calling attachRenderTree directly.
1343 * html/HTMLViewSourceDocument.cpp:
1344 (WebCore::HTMLViewSourceDocument::addText):
1346 Remove forgotten attachTextRenderer.
1348 * html/shadow/InsertionPoint.cpp:
1349 (WebCore::InsertionPoint::InsertionPoint):
1351 Remove willAttachRenderers/didAttachRenderers hack.
1353 * html/shadow/InsertionPoint.h:
1354 (WebCore::toInsertionPoint):
1355 * loader/PlaceholderDocument.cpp:
1356 (WebCore::PlaceholderDocument::createRenderTree):
1358 Seriously, nothing to do here.
1360 * style/StyleResolveTree.cpp:
1361 (WebCore::Style::attachDistributedChildren):
1362 (WebCore::Style::attachChildren):
1363 (WebCore::Style::detachDistributedChildren):
1364 (WebCore::Style::detachChildren):
1366 Making attaching and detaching distributed insertion point children part of ResolveTree internals.
1368 * style/StyleResolveTree.h:
1370 Remove interfaces with no clients.
1372 2014-01-01 Seokju Kwon <seokju@webkit.org>
1374 Remove stale ScriptProfiler methods
1375 https://bugs.webkit.org/show_bug.cgi?id=126373
1377 Reviewed by Darin Adler.
1379 No new tests, No change behavior.
1381 * bindings/js/ScriptProfiler.h: Remove dead code.
1383 2014-01-01 Andreas Kling <akling@apple.com>
1385 Remove ChromeClient::fullScreenRendererChanged().
1386 <https://webkit.org/b/126370>
1388 This hook was added in r75277 to notify WebFullScreenController when
1389 the full screen renderer changed. In r110216 the code was refactored,
1390 making this notification unnecessary.
1392 Reviewed by Antti Koivisto.
1394 2014-01-01 Simon Fraser <simon.fraser@apple.com>
1396 Fix the build by exposing some more scrolling state node headers
1397 as Private in WebCore.framework.
1399 * WebCore.xcodeproj/project.pbxproj:
1401 2014-01-01 Ryuan Choi <ryuan.choi@samsung.com>
1403 [EFL] Unreviewed build fix after r160903 when ACCESSIBILITY is disabled
1405 * accessibility/AccessibilityObject.h:
1406 (WebCore::AccessibilityObject::children):
1408 2014-01-01 Andreas Kling <akling@apple.com>
1410 RenderScrollbar: Map of scrollbar parts should use RenderPtr.
1411 <https://webkit.org/b/126367>
1413 Turn RenderScrollbar::m_parts into HashMap of RenderPtrs. This makes
1414 renderer destruction automatic and lets us remove some code.
1416 Reviewed by Antti Koivisto.
1418 * rendering/RenderPtr.h:
1420 Add HashTraits for RenderPtr so we can use them as values in
1423 * rendering/RenderScrollbar.h:
1424 * rendering/RenderScrollbar.cpp:
1425 (WebCore::RenderScrollbar::~RenderScrollbar):
1426 (WebCore::RenderScrollbar::setParent):
1427 (WebCore::RenderScrollbar::updateScrollbarParts):
1428 (WebCore::RenderScrollbar::updateScrollbarPart):
1430 Remove now-unneeded kludges of logic to manually delete scrollbar
1431 part renderers in various scenarios.
1433 2014-01-01 Antti Koivisto <antti@apple.com>
1435 Remove reattachRenderTree
1436 https://bugs.webkit.org/show_bug.cgi?id=126366
1438 Reviewed by Andreas Kling.
1440 Remove the last remaining client.
1442 * html/HTMLSelectElement.cpp:
1443 (WebCore::HTMLSelectElement::parseAttribute):
1445 Reconstruct render tree asynchronously.
1447 (WebCore::HTMLSelectElement::scrollToSelection):
1448 (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
1449 (WebCore::HTMLSelectElement::selectOption):
1451 It is not safe to cast the renderer based on usesMenuList test. Switch to RenderObject::isMenuList test.
1453 (WebCore::HTMLSelectElement::parseMultipleAttribute):
1455 Reconstruct render tree asynchronously.
1457 (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
1458 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1459 (WebCore::HTMLSelectElement::defaultEventHandler):
1460 * style/StyleResolveTree.cpp:
1461 * style/StyleResolveTree.h:
1463 Remove the function.
1465 2014-01-01 Simon Fraser <simon.fraser@apple.com>
1467 Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
1468 https://bugs.webkit.org/show_bug.cgi?id=126362
1470 Reviewed by Sam Weinig.
1472 Eventually we'll have a ScrollingTree in situations where there is no scrolling
1473 thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
1474 and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.
1476 The ScrollingTree base class also no longer needs to know about the
1477 ScrollingCoordinator.
1479 ScrollingCoordinatorMac creates a ThreadedScrollingTree.
1482 * WebCore.xcodeproj/project.pbxproj: Add ThreadedScrollingTree.*
1483 Make some headers Private that we'll need in WebKit2 soon.
1484 * page/scrolling/ScrollingStateTree.h: Drive-by cleanup: clone() was unimplemented.
1485 * page/scrolling/ScrollingTree.cpp:
1486 (WebCore::ScrollingTree::ScrollingTree):
1487 (WebCore::ScrollingTree::~ScrollingTree):
1488 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Wrap up some logic that
1489 involves taking the mutex, so ThreadedScrollingTree can conveniently call it.
1490 (WebCore::ScrollingTree::handleWheelEvent):
1491 (WebCore::ScrollingTree::commitNewTreeState):
1492 (WebCore::ScrollingTree::setMainFrameScrollPosition):
1493 (WebCore::ScrollingTree::isHandlingProgrammaticScroll):
1494 * page/scrolling/ScrollingTree.h:
1495 (WebCore::ScrollingTree::isThreadedScrollingTree):
1496 (WebCore::ScrollingTree::invalidate):
1497 * page/scrolling/ThreadedScrollingTree.cpp: Added.
1498 (WebCore::ThreadedScrollingTree::create):
1499 (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
1500 (WebCore::ThreadedScrollingTree::~ThreadedScrollingTree):
1501 (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
1502 (WebCore::ThreadedScrollingTree::handleWheelEvent):
1503 (WebCore::derefScrollingCoordinator):
1504 (WebCore::ThreadedScrollingTree::invalidate):
1505 (WebCore::ThreadedScrollingTree::commitNewTreeState):
1506 (WebCore::ThreadedScrollingTree::updateMainFrameScrollPosition):
1507 (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
1508 * page/scrolling/ThreadedScrollingTree.h: Added.
1509 (WebCore::ThreadedScrollingTree::isThreadedScrollingTree):
1510 * page/scrolling/mac/ScrollingCoordinatorMac.h:
1511 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1512 (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
1513 (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
1515 2014-01-01 Andreas Kling <akling@apple.com>
1517 FrameView: Store scroll corner renderer in a RenderPtr.
1518 <https://webkit.org/b/126364>
1520 Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
1521 remove two manual destroy() calls.
1523 Reviewed by Antti Koivisto.
1525 2014-01-01 Antti Koivisto <antti@apple.com>
1527 Remove elementChildren/elementDescendants shorthands
1528 https://bugs.webkit.org/show_bug.cgi?id=126363
1530 Reviewed by Anders Carlsson.
1532 Just use childrenOfType<Element>/descendantsOfType<Element> instead. They are not that much longer
1533 and consistency is valuable.
1535 * accessibility/AccessibilityNodeObject.cpp:
1536 (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
1537 (WebCore::siblingWithAriaRole):
1538 * accessibility/AccessibilityTable.cpp:
1539 (WebCore::AccessibilityTable::isDataTable):
1540 * css/StyleInvalidationAnalysis.cpp:
1541 (WebCore::StyleInvalidationAnalysis::invalidateStyle):
1542 * dom/ChildNodeList.cpp:
1543 (WebCore::ChildNodeList::namedItem):
1545 (WebCore::Document::buildAccessKeyMap):
1546 (WebCore::Document::childrenChanged):
1548 (WebCore::Element::resetComputedStyle):
1549 * dom/ElementChildIterator.h:
1550 * dom/ElementDescendantIterator.h:
1551 * dom/SelectorQuery.cpp:
1552 (WebCore::elementsForLocalName):
1553 (WebCore::anyElement):
1554 (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
1555 (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
1556 (WebCore::SelectorDataList::executeSingleSelectorData):
1557 (WebCore::SelectorDataList::executeSingleMultiSelectorData):
1558 * editing/ApplyStyleCommand.cpp:
1559 (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
1560 * editing/ReplaceSelectionCommand.cpp:
1561 (WebCore::removeHeadContents):
1562 * editing/markup.cpp:
1563 (WebCore::completeURLs):
1564 * html/HTMLFieldSetElement.cpp:
1565 (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
1566 * html/HTMLObjectElement.cpp:
1567 (WebCore::HTMLObjectElement::containsJavaApplet):
1568 * loader/PlaceholderDocument.cpp:
1569 (WebCore::PlaceholderDocument::createRenderTree):
1570 * rendering/RenderChildIterator.h:
1571 * svg/SVGSVGElement.cpp:
1572 (WebCore::SVGSVGElement::getElementById):
1573 * svg/SVGUseElement.cpp:
1574 (WebCore::subtreeContainsDisallowedElement):
1575 (WebCore::removeDisallowedElementsFromSubtree):
1577 2014-01-01 Antti Koivisto <antti@apple.com>
1579 Do less synchronous render tree construction
1580 https://bugs.webkit.org/show_bug.cgi?id=126359
1582 Reviewed by Anders Carlsson.
1584 Remove some now-unnecessary attachRenderTree calls.
1586 * html/HTMLDetailsElement.cpp:
1587 (WebCore::HTMLDetailsElement::parseAttribute):
1588 * html/HTMLInputElement.cpp:
1589 (WebCore::HTMLInputElement::parseAttribute):
1590 * html/HTMLObjectElement.cpp:
1591 (WebCore::HTMLObjectElement::renderFallbackContent):
1592 * html/HTMLPlugInElement.cpp:
1593 (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
1594 * html/HTMLPlugInImageElement.cpp:
1595 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
1596 (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
1597 (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
1598 * html/HTMLViewSourceDocument.cpp:
1599 (WebCore::HTMLViewSourceDocument::createContainingTable):
1600 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
1601 (WebCore::HTMLViewSourceDocument::addLine):
1602 (WebCore::HTMLViewSourceDocument::finishLine):
1603 (WebCore::HTMLViewSourceDocument::addBase):
1604 (WebCore::HTMLViewSourceDocument::addLink):
1605 * xml/XMLErrors.cpp:
1606 (WebCore::XMLErrors::insertErrorMessageBlock):
1608 2014-01-01 Simon Fraser <simon.fraser@apple.com>
1610 Updating the scrolling tree should use references to state nodes
1611 https://bugs.webkit.org/show_bug.cgi?id=126360
1613 Reviewed by Anders Carlsson.
1615 Change functions related to ScrollingTreeNode updating to take
1616 const references to state nodes rather than pointers.
1618 * page/scrolling/ScrollingStateNode.h:
1619 (WebCore::ScrollingStateNode::hasChangedProperty):
1620 * page/scrolling/ScrollingTree.cpp:
1621 (WebCore::ScrollingTree::commitNewTreeState):
1622 (WebCore::ScrollingTree::updateTreeFromStateNode): The node can be nil so
1623 this continues to take a pointer.
1624 (WebCore::ScrollingTree::removeDestroyedNodes):
1625 * page/scrolling/ScrollingTree.h:
1626 * page/scrolling/ScrollingTreeNode.h:
1627 (WebCore::ScrollingTreeNode::updateAfterChildren):
1628 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1629 (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1630 * page/scrolling/ScrollingTreeScrollingNode.h:
1631 * page/scrolling/mac/ScrollingTreeFixedNode.h:
1632 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1633 (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
1634 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1635 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1636 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
1637 (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
1638 * page/scrolling/mac/ScrollingTreeStickyNode.h:
1639 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1640 (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
1642 2014-01-01 Simon Fraser <simon.fraser@apple.com>
1644 Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
1645 https://bugs.webkit.org/show_bug.cgi?id=126346
1647 Reviewed by Tim Horton.
1649 Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
1650 so it makes more sense to put this layerID type on GraphicsLayer as
1651 GraphicsLayer::PlatformLayerID.
1653 Also add some type cast macros for PlatformCALayer and subclasses, and use them
1656 * platform/graphics/GraphicsLayer.h:
1657 * platform/graphics/ca/GraphicsLayerCA.cpp:
1658 (WebCore::GraphicsLayerCA::setName):
1659 * platform/graphics/ca/PlatformCALayer.h:
1660 (WebCore::PlatformCALayer::isPlatformCALayerMac):
1661 (WebCore::PlatformCALayer::isPlatformCALayerRemote):
1662 (WebCore::PlatformCALayer::PlatformCALayer):
1663 * platform/graphics/ca/mac/PlatformCALayerMac.h:
1665 2013-12-31 Simon Fraser <simon.fraser@apple.com>
1667 ScrollingStateNodes should have a reference to the ScrollingStateTree
1668 https://bugs.webkit.org/show_bug.cgi?id=126348
1670 Reviewed by Sam Weinig.
1672 Make ScrollingStateNodes always belong to a ScrollingStateTree, and thus
1673 have a reference to the tree rather than a pointer. When cloning nodes,
1674 they are adopted by a new ScrollingStateTree, which adds them to its
1675 node map (which didn't happen before).
1677 In subclasses access the ScrollingStateTree through a member function.
1679 * page/scrolling/ScrollingStateFixedNode.cpp:
1680 (WebCore::ScrollingStateFixedNode::create):
1681 (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
1682 (WebCore::ScrollingStateFixedNode::clone):
1683 (WebCore::ScrollingStateFixedNode::updateConstraints):
1684 * page/scrolling/ScrollingStateFixedNode.h:
1685 * page/scrolling/ScrollingStateNode.cpp:
1686 (WebCore::ScrollingStateNode::ScrollingStateNode):
1687 (WebCore::ScrollingStateNode::cloneAndReset):
1688 (WebCore::ScrollingStateNode::cloneAndResetChildren):
1689 (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
1690 * page/scrolling/ScrollingStateNode.h:
1691 (WebCore::ScrollingStateNode::scrollingStateTree):
1692 * page/scrolling/ScrollingStateScrollingNode.cpp:
1693 (WebCore::ScrollingStateScrollingNode::create):
1694 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1695 (WebCore::ScrollingStateScrollingNode::clone):
1696 (WebCore::ScrollingStateScrollingNode::setViewportRect):
1697 (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
1698 (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
1699 (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
1700 (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
1701 (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
1702 (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
1703 (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
1704 (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
1705 (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
1706 (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
1707 (WebCore::ScrollingStateScrollingNode::setFooterHeight):
1708 * page/scrolling/ScrollingStateScrollingNode.h:
1709 * page/scrolling/ScrollingStateStickyNode.cpp:
1710 (WebCore::ScrollingStateStickyNode::create):
1711 (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
1712 (WebCore::ScrollingStateStickyNode::clone):
1713 (WebCore::ScrollingStateStickyNode::updateConstraints):
1714 * page/scrolling/ScrollingStateStickyNode.h:
1715 * page/scrolling/ScrollingStateTree.cpp:
1716 (WebCore::ScrollingStateTree::attachNode):
1717 (WebCore::ScrollingStateTree::commit):
1718 (WebCore::ScrollingStateTree::addNode):
1719 * page/scrolling/ScrollingStateTree.h:
1720 * page/scrolling/mac/ScrollingStateNodeMac.mm:
1721 (WebCore::ScrollingStateNode::setScrollLayer):
1722 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
1723 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
1724 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
1725 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
1726 (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
1728 2013-12-31 Simon Fraser <simon.fraser@apple.com>
1730 Give ScrollingStateNodes a nodeType()
1731 https://bugs.webkit.org/show_bug.cgi?id=126347
1733 Reviewed by Tim Horton.
1735 When we start serializing ScrollingStateNodes to send to the UI process,
1736 it's more convenient if they have a nodeType member rather than virtual functions,
1737 so give them one, and fix the casting macros to use it. This allows us to use
1738 a switch() on node creation, so the compiler will tell us if we forgot to create
1741 * page/scrolling/ScrollingStateFixedNode.cpp:
1742 (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
1743 * page/scrolling/ScrollingStateFixedNode.h:
1744 * page/scrolling/ScrollingStateNode.cpp:
1745 (WebCore::ScrollingStateNode::ScrollingStateNode):
1746 * page/scrolling/ScrollingStateNode.h: const ScrollingNodeType field
1747 (can't be modified after construction), and move the m_scrollingStateTree
1748 member after it (the awkward protected:/private: will be cleaned up in a later patch).
1749 (WebCore::ScrollingStateNode::nodeType):
1750 * page/scrolling/ScrollingStateScrollingNode.cpp:
1751 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1752 * page/scrolling/ScrollingStateScrollingNode.h:
1753 * page/scrolling/ScrollingStateStickyNode.cpp:
1754 (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
1755 * page/scrolling/ScrollingStateStickyNode.h:
1756 * page/scrolling/ScrollingTree.cpp:
1757 (WebCore::ScrollingTree::updateTreeFromStateNode):
1759 2013-12-31 Andreas Kling <akling@apple.com>
1761 Out-of-line RenderStyle substructure copying helpers.
1762 <https://webkit.org/b/126340>
1764 This shrinks the .access() calls by moving memory allocation logic
1765 out-of-line, though I'm really doing this to make Instruments.app
1766 allocations output more readable.
1768 Writes to e.g 'font' or 'color' will now be grouped under a single
1769 StyleInheritedData::copy() call instead of being spread out over
1770 setFontDescription(), setLineHeight(), setColor(), etc.
1772 Reviewed by Anders Carlsson.
1774 2013-12-31 Andreas Kling <akling@apple.com>
1776 RenderListItem should store its marker in a RenderPtr.
1777 <https://webkit.org/b/126298>
1779 Make RenderListItem::m_marker a RenderPtr<RenderListMarker> and
1780 remove two manual destroy() calls. Tweaked code to reduce nesting.
1782 Reviewed by Anders Carlsson.
1784 2013-12-31 Andreas Kling <akling@apple.com>
1786 Element's renderer factory should return RenderPtrs.
1787 <https://webkit.org/b/126318>
1789 Rename Element::createRenderer() to createElementRenderer() and have
1790 it return RenderPtr<RenderElement>. Propagate signature until it
1793 We leakPtr() the renderer at two call sites when handing things over
1794 to raw pointer API. This'll get tidied up in subsequent patches.
1796 Reviewed by Sam Weinig.
1798 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
1800 [SOUP] Return early in ResourceHandle::receivedCancellation if the load has already cancelled
1801 https://bugs.webkit.org/show_bug.cgi?id=126287
1803 Reviewed by Martin Robinson.
1805 This situation can happen when using the network process, because
1806 the ReceivedCancellation message can be received when the resource
1807 loader has already been removed, but the authentication challenge
1808 still has a reference to the ResourceHandleClient.
1810 * platform/network/soup/ResourceHandleSoup.cpp:
1811 (WebCore::ResourceHandle::receivedCancellation):
1813 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
1815 [SOUP] The initiating page is lost after a redirection
1816 https://bugs.webkit.org/show_bug.cgi?id=126293
1818 Reviewed by Martin Robinson.
1820 The initiating page id is attached to the initial soup request
1821 object, but not to the one created after a redirection.
1823 * platform/network/soup/ResourceHandleSoup.cpp:
1824 (WebCore::createSoupRequestAndMessageForHandle): Call
1825 setSoupRequestInitiatingPageIDFromNetworkingContext() here if the
1826 soup request is created successfully.
1827 (WebCore::ResourceHandle::start): Remove the call to
1828 setSoupRequestInitiatingPageIDFromNetworkingContext().
1830 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
1832 [SOUP] Implement ResourceHandle::continueWillSendRequest()
1833 https://bugs.webkit.org/show_bug.cgi?id=126291
1835 Reviewed by Martin Robinson.
1837 * platform/network/soup/ResourceHandleSoup.cpp:
1838 (WebCore::continueAfterWillSendRequest): Helper function that
1839 continues with the load after willSendRequest has been called.
1840 (WebCore::doRedirect): Call continueAfterWillSendRequest() when
1841 client doesn't use async callbacks.
1842 (WebCore::ResourceHandle::continueWillSendRequest): Call
1843 continueAfterWillSendRequest().
1845 2013-12-30 Carlos Garcia Campos <cgarcia@igalia.com>
1847 [SOUP] willSendRequest doesn't work after a redirect
1848 https://bugs.webkit.org/show_bug.cgi?id=126290
1850 Reviewed by Martin Robinson.
1852 The problem is that we are creating the new soup request for the
1853 redirect before calling ResourceHandleClient::willSendRequest() so
1854 that any change made to the request by the client is ignored.
1856 * platform/network/soup/ResourceHandleSoup.cpp:
1857 (WebCore::doRedirect): Create the new soup request and soup
1858 message for the redirect after calling willSendRequest() on the
1861 2013-12-30 Andreas Kling <akling@apple.com>
1863 InputType should return input renderers wrapped in RenderPtr.
1864 <https://webkit.org/b/126307>
1866 Rename InputType::createRenderer() to createInputRenderer() and
1867 make it return RenderPtr<RenderElement>. Also made it non-const.
1869 Reviewed by Anders Carlsson.
1871 2013-12-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1873 Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
1874 https://bugs.webkit.org/show_bug.cgi?id=126309
1876 Reviewed by Andreas Kling.
1878 To detect bad type casts, it would be good to use toHTMLFormElement() instead of
1879 using manual type cast. Additionally FORM_ASSOCIATED_ELEMENT_TYPE_CASTS is introduced newly
1882 No new tests, no behavior changes.
1884 * html/FormAssociatedElement.h:
1885 * html/HTMLFormControlElement.h:
1886 * html/HTMLFormElement.cpp:
1887 (WebCore::HTMLFormElement::submitImplicitly):
1888 (WebCore::HTMLFormElement::validateInteractively):
1889 (WebCore::HTMLFormElement::submit):
1890 (WebCore::HTMLFormElement::reset):
1891 (WebCore::HTMLFormElement::defaultButton):
1892 (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
1893 (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
1894 * loader/FormSubmission.cpp:
1895 (WebCore::FormSubmission::create):
1897 2013-12-30 Anders Carlsson <andersca@apple.com>
1899 Replace yield() and pauseBriefly() with std::this_thread::yield()
1900 https://bugs.webkit.org/show_bug.cgi?id=126105
1902 Reviewed by Sam Weinig.
1904 * platform/sql/SQLiteDatabase.cpp:
1905 (WebCore::SQLiteDatabase::interrupt):
1907 2013-12-30 Andreas Kling <akling@apple.com>
1909 Rename createRenderObject() to createRenderer().
1911 Somewhat rubber-stamped by Antti Koivisto.
1913 2013-12-30 Andreas Kling <akling@apple.com>
1915 Document should store its RenderView in a RenderPtr.
1916 <https://webkit.org/b/126299>
1918 Make Document::m_renderView a RenderPtr<RenderView> and remove one
1919 manual destroy() call. Also removed the setRenderView() helper and
1920 inlined it at the two call sites.
1922 Reviewed by Antti Koivisto.
1924 2013-12-30 Martin Robinson <mrobinson@igalia.com>
1926 [CMake] [GTK] Add support for GObject introspection
1927 https://bugs.webkit.org/show_bug.cgi?id=126162
1929 Reviewed by Daniel Bates.
1931 * PlatformGTK.cmake: Build a list of WebKitDOM headers and expose it to the
1932 parent scope of the build.
1934 2013-12-30 Andreas Kling <akling@apple.com>
1936 Text::createTextRenderer() should return a RenderPtr.
1937 <https://webkit.org/b/126292>
1939 Make createTextRenderer() return a RenderPtr and remove one manual
1940 destroy() call. Also, since it should always return a valid object,
1941 I turned a null check into an assertion instead.
1943 Reviewed by Antti Koivisto.
1945 2013-12-30 Antti Koivisto <antti@apple.com>
1948 https://bugs.webkit.org/show_bug.cgi?id=126288
1950 Reviewed by Andreas Kling.
1952 * dom/ContainerNode.cpp:
1953 (WebCore::destroyRenderTreeIfNeeded):
1955 Rename detachChild and move the tests here.
1957 (WebCore::ContainerNode::takeAllChildrenFrom):
1959 No need to call attachRenderTree explicitly anymore.
1961 (WebCore::ContainerNode::removeBetween):
1963 2013-12-29 Andreas Kling <akling@apple.com>
1965 RenderLayer: Store corner and resizer renderers in RenderPtrs.
1966 <https://webkit.org/b/126274>
1968 Turn RenderLayer::m_scrollCorner and m_resizer into RenderPtrs.
1969 Removed manual destroy() calls as appropriate. Also tweaked some
1970 code to reduce nesting.
1972 Reviewed by Anders Carlsson.
1974 2013-12-30 Antti Koivisto <antti@apple.com>
1976 XML document builder should create render tree asynchronously
1977 https://bugs.webkit.org/show_bug.cgi?id=126285
1979 Reviewed by Andreas Kling.
1981 Stop creating renderers explicitly.
1982 Fix SVG <use> element to not rely on parse time render tree construction.
1984 * svg/SVGUseElement.cpp:
1985 (WebCore::SVGUseElement::svgAttributeChanged):
1987 Remove renderer check, we may not have created the render tree yet.
1989 (WebCore::SVGUseElement::willAttachRenderers):
1991 Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style
1992 recalc doesn't start creating new renderers.
1994 (WebCore::SVGUseElement::invalidateShadowTree):
1996 Remove renderer check, we may not have created the render tree yet.
1997 Invalidate with ReconstructRenderTree so willAttachRenderers will always get called.
1999 * svg/SVGUseElement.h:
2000 * xml/parser/XMLDocumentParser.cpp:
2001 (WebCore::XMLDocumentParser::exitText):
2002 * xml/parser/XMLDocumentParserLibxml2.cpp:
2003 (WebCore::XMLDocumentParser::startElementNs):
2004 (WebCore::XMLDocumentParser::cdataBlock):
2006 Remove explicit call to attachRenderTree. The render tree will be created lazily.
2008 2013-12-29 Joone Hur <joone.hur@intel.com>
2010 Reverted r156742. The same fix was reverted from Blink due to heap-use-after-free on ClusterFuzz.
2011 https://bugs.webkit.org/show_bug.cgi?id=126275
2013 https://codereview.chromium.org/102993011
2015 Reviewed by Darin Adler.
2017 * rendering/RenderBlock.cpp:
2018 (WebCore::RenderBlock::updateFirstLetter):
2020 2013-12-29 ChangSeok Oh <changseok.oh@collabora.com>
2022 Remove unused functions in GraphicsContext3D.cpp
2023 https://bugs.webkit.org/show_bug.cgi?id=126265
2025 Reviewed by Andreas Kling.
2027 platformGraphicsContext3D, platformTexture and platformLayer in GC3D.cpp
2028 seem not used by any ports.
2030 No new tests, no functionality changed.
2032 * platform/graphics/GraphicsContext3D.cpp:
2034 2013-12-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2036 Fix build error on 64bit debug build.
2037 https://bugs.webkit.org/show_bug.cgi?id=126248
2039 r161076 used ‘%lli’(for long long int) for int64_t(aka long int).
2040 However, in a 64bit compile, int64_t is 'long int', not a 'long long int'.
2041 To support 32bit and 64bit, we use static_cast<long long>.
2043 * Modules/indexeddb/IDBTransactionBackend.cpp:
2044 (WebCore::IDBTransactionBackend::commit):
2046 2013-12-29 Antti Koivisto <antti@apple.com>
2048 Remove some accidental commented out code.
2050 * testing/Internals.cpp:
2051 (WebCore::Internals::mallocStatistics):
2053 2013-12-29 Antti Koivisto <antti@apple.com>
2057 * xml/parser/XMLDocumentParser.cpp:
2059 2013-12-29 Antti Koivisto <antti@apple.com>
2061 Remove Node::attached()
2062 https://bugs.webkit.org/show_bug.cgi?id=126276
2064 Reviewed by Sam Weinig.
2066 Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.
2068 Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.
2070 2013-12-29 Andreas Kling <akling@apple.com>
2072 RenderLayer: Store reflection renderer in a RenderPtr.
2073 <https://webkit.org/b/126273>
2075 Reviewed by Anders Carlsson.
2077 * rendering/RenderLayer.h:
2078 * rendering/RenderLayer.cpp:
2079 (WebCore::RenderLayer::RenderLayer):
2080 (WebCore::RenderLayer::calculateClipRects):
2082 Turn RenderLayer::m_reflection into a RenderPtr<RenderReplica>
2083 instead of a raw pointer.
2085 * WebCore.xcodeproj/project.pbxproj:
2087 Add RenderPtr.h to private headers.
2089 2013-12-28 Andreas Kling <akling@apple.com>
2091 Add an owning smart pointer for RenderObjects and start using it.
2092 <https://webkit.org/b/126251>
2094 This patch adds a RenderPtr pointer, essentially an OwnPtr for
2095 RenderObjects. The difference is that RenderPtr destroys the object
2096 by calling destroy() on it.
2098 This is necessary to implement the willBeDestroyed() mechanism in
2099 RenderObject that notifies renderers just before they are about to
2100 be deleted, while they can still do tree traversal, etc.
2102 I also added a make_unique-alike helper so you can write:
2104 auto renderer = createRenderObject<RenderImage>(...);
2106 Put it all to use by making ContentData::createRenderer() return
2107 RenderPtr<RenderObject> instead of raw RenderObject*.
2109 Reviewed by Antti Koivisto.
2111 2013-12-28 Benjamin Poulain <benjamin@webkit.org>
2113 Add a missing include path for GTK
2114 https://bugs.webkit.org/show_bug.cgi?id=126257
2116 Reviewed by Philippe Normand.
2120 2013-12-28 Carlos Garcia Campos <cgarcia@igalia.com>
2122 Unreviewed. Update GObject DOM symbols file after r160733.
2124 * bindings/gobject/webkitdom.symbols:
2126 2013-12-28 Carlos Garcia Campos <cgarcia@igalia.com>
2128 [GTK] Downloads are broken with the network process enabled
2129 https://bugs.webkit.org/show_bug.cgi?id=126131
2131 Reviewed by Martin Robinson.
2133 The problem is that the network process crashes when trying to
2134 convert the handle to a download, because at that point the
2135 download has finished and the handle is NULL. This happens because
2136 we are not implementing ResourceHandle::continueDidReceiveResponse().
2138 * platform/network/soup/ResourceHandleSoup.cpp:
2139 (WebCore::nextMultipartResponsePartCallback): Call
2140 continueAfterDidReceiveResponse() when not using async callbacks.
2141 (WebCore::sendRequestCallback): Ditto.
2142 (WebCore::continueAfterDidReceiveResponse): Helper function that
2143 continues the load after didReceiveResponse.
2144 (WebCore::ResourceHandle::continueDidReceiveResponse): Call
2145 continueAfterDidReceiveResponse().
2147 2013-12-27 Daniel Bates <dabates@apple.com>
2149 Another attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
2150 (https://bugs.webkit.org/show_bug.cgi?id=126180)
2152 * WebCore.vcxproj/WebCore.vcxproj.filters: Add files platform/audio/{AudioSession, AudioSessionListener}.h
2153 * WebCore.vcxproj/WebCoreCommon.props: Add directory WebCore/platform/audio to the list of
2154 include directories.
2156 2013-12-27 Daniel Bates <dabates@apple.com>
2158 Attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
2159 (https://bugs.webkit.org/show_bug.cgi?id=126180)
2161 Add files platform/audio/AudioSession.{cpp, h} and platform/audio/AudioSessionListener.h
2162 to the Visual Studio project. Note, the contents of these files are guarded by USE(AUDIO_SESSION),
2163 which is only enabled on Mac and iOS at the time of writing.
2165 I thought to try this approach to fix the build so as to avoid adding an extraneous
2166 USE(AUDIO_SESSION)-guard around the #include "AudioSession.h" in Settings.cpp since
2167 the contents of the file AudioSession.h is guarded by USE(AUDIO_SESSION).
2169 * WebCore.vcxproj/WebCore.vcxproj:
2171 2013-12-27 Daniel Bates <dabates@apple.com>
2173 [iOS] Upstream WebCore/page changes
2174 https://bugs.webkit.org/show_bug.cgi?id=126180
2176 Reviewed by Darin Adler.
2178 * WebCore.xcodeproj/project.pbxproj:
2180 (WebCore::EventNames::isGestureEventType): Added.
2181 * page/AlternativeTextClient.h: Do not define WTF_USE_DICTATION_ALTERNATIVES when building for iOS.
2183 (WebCore::Chrome::Chrome):
2184 (WebCore::Chrome::dispatchViewportPropertiesDidChange): Added; guarded by PLATFORM(IOS).
2185 (WebCore::Chrome::setCursor): Make this an empty function when building for iOS.
2186 (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Ditto.
2187 (WebCore::Chrome::didReceiveDocType): Added; iOS-specific.
2189 (WebCore::Chrome::setDispatchViewportDataDidChangeSuppressed): Added; guarded by PLATFORM(IOS).
2190 * page/ChromeClient.h:
2191 (WebCore::ChromeClient::didFlushCompositingLayers): Added; guarded by PLATFORM(IOS).
2192 (WebCore::ChromeClient::fetchCustomFixedPositionLayoutRect): Added; guarded by PLATFORM(IOS).
2193 (WebCore::ChromeClient::updateViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
2194 * page/DOMTimer.cpp:
2195 (WebCore::DOMTimer::install): Added iOS-specific code.
2196 (WebCore::DOMTimer::fired): Ditto.
2197 * page/DOMWindow.cpp:
2198 (WebCore::DOMWindow::DOMWindow): Ditto.
2199 (WebCore::DOMWindow::innerHeight): Ditto.
2200 (WebCore::DOMWindow::innerWidth): Ditto.
2201 (WebCore::DOMWindow::scrollX): Ditto.
2202 (WebCore::DOMWindow::scrollY): Ditto.
2203 (WebCore::DOMWindow::scrollBy): Ditto.
2204 (WebCore::DOMWindow::scrollTo): Ditto.
2205 (WebCore::DOMWindow::clearTimeout): Ditto.
2206 (WebCore::DOMWindow::addEventListener): Ditto.
2207 (WebCore::DOMWindow::incrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
2208 (WebCore::DOMWindow::decrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
2209 (WebCore::DOMWindow::resetAllGeolocationPermission): Added; Also added FIXME comment.
2210 (WebCore::DOMWindow::removeEventListener): Added iOS-specific code.
2211 (WebCore::DOMWindow::dispatchEvent): Modified to prevent dispatching duplicate pageshow and pagehide
2212 events per <http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-pageshow>.
2213 (WebCore::DOMWindow::removeAllEventListeners): Added iOS-specific code.
2215 * page/DOMWindow.idl: Added IOS_GESTURE_EVENTS-guarded attributes: ongesture{change, end, start}. Also
2216 added IOS_TOUCH_EVENTS-guarded attributes: {Touch, TouchList}Constructor.
2217 * page/EditorClient.h:
2218 * page/EventHandler.cpp:
2219 (WebCore::EventHandler::EventHandler): Added iOS-specific code.
2220 (WebCore::EventHandler::clear): Ditto.
2221 (WebCore::EventHandler::startPanScrolling): Make this an empty function when building for iOS.
2222 (WebCore::EventHandler::handleMousePressEvent): Modified to invalidate a click when the clicked node is
2223 null. Also, opt out of code for updating the scrollbars as UIKit manages scrollbars on iOS.
2224 (WebCore::EventHandler::handleMouseMoveEvent): Opt of code for updating the scrollbars and cursor when building on iOS.
2225 (WebCore::hitTestResultInFrame): Made this a file-local static function since it's only used in EventHandler.cpp.
2226 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Added iOS-specific code.
2227 * page/EventHandler.h:
2228 * page/FocusController.h:
2230 (WebCore::Frame::Frame): Added iOS-specific code.
2231 (WebCore::Frame::scrollOverflowLayer): Added; iOS-specific.
2232 (WebCore::Frame::overflowAutoScrollTimerFired): Added; iOS-specific.
2233 (WebCore::Frame::startOverflowAutoScroll): Added; iOS-specific.
2234 (WebCore::Frame::checkOverflowScroll): Added; iOS-specific.
2235 (WebCore::Frame::willDetachPage): Added iOS-specific code.
2236 (WebCore::Frame::createView): Ditto.
2237 (WebCore::Frame::setSelectionChangeCallbacksDisabled): Added; iOS-specific.
2238 (WebCore::Frame::selectionChangeCallbacksDisabled): Added; iOS-specific.
2240 (WebCore::Frame::timersPaused): Added; guarded by PLATFORM(IOS).
2241 * page/FrameView.cpp:
2242 (WebCore::FrameView::FrameView): Added iOS-specific code.
2243 (WebCore::FrameView::clear): Ditto.
2244 (WebCore::FrameView::flushCompositingStateForThisFrame): Ditto.
2245 (WebCore::FrameView::graphicsLayerForPlatformWidget): Added.
2246 (WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Added.
2247 (WebCore::FrameView::layout): Added iOS-specific code.
2248 (WebCore::countRenderedCharactersInRenderObjectWithThreshold): Added; helper function used by FrameView::renderedCharactersExceed().
2249 Also added FIXME comment.
2250 (WebCore::FrameView::renderedCharactersExceed): Added.
2251 (WebCore::FrameView::visibleContentsResized): Added iOS-specific code.
2252 (WebCore::FrameView::adjustTiledBackingCoverage): Ditto.
2253 (WebCore::FrameView::performPostLayoutTasks): Ditto.
2254 (WebCore::FrameView::sendResizeEventIfNeeded): Ditto.
2255 (WebCore::FrameView::paintContents): Added iOS-specific code. Also added FIXME comments.
2256 (WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Added; iOS-specific.
2257 (WebCore::FrameView::setCustomFixedPositionLayoutRect): Added; iOS-specific.
2258 (WebCore::FrameView::updateFixedPositionLayoutRect): Added; iOS-specific.
2260 * page/Navigator.cpp:
2261 (WebCore::Navigator::standalone): Added; iOS-specific.
2263 * page/Navigator.idl: Added WTF_PLATFORM_IOS-guarded attribute: standalone. Also added FIXME comment.
2264 * page/NavigatorBase.cpp:
2265 (WebCore::NavigatorBase::platform): Added iOS-specific code.
2267 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
2268 to remove this method.
2269 (WebCore::Page::customHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
2270 to remove this method.
2271 * page/PageGroup.cpp:
2272 (WebCore::PageGroup::removeVisitedLink): Added.
2274 * page/Settings.cpp:
2275 (WebCore::Settings::Settings):
2276 (WebCore::Settings::setScriptEnabled): Added; guarded by PLATFORM(IOS).
2277 (WebCore::Settings::setStandalone): Added; guarded by PLATFORM(IOS).
2278 (WebCore::Settings::setAudioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
2279 (WebCore::Settings::audioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
2280 (WebCore::Settings::setNetworkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
2281 (WebCore::Settings::networkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
2282 (WebCore::sharedNetworkInterfaceNameGlobal): Added; guarded by PLATFORM(IOS).
2283 (WebCore::Settings::setNetworkInterfaceName): Added; guarded by PLATFORM(IOS).
2284 (WebCore::Settings::networkInterfaceName): Added; guarded by PLATFORM(IOS).
2286 (WebCore::Settings::setMaxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
2287 (WebCore::Settings::maxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
2288 (WebCore::Settings::standalone): Added; guarded by PLATFORM(IOS).
2289 (WebCore::Settings::setTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
2290 (WebCore::Settings::telephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
2291 (WebCore::Settings::setMediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
2292 (WebCore::Settings::mediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
2293 (WebCore::Settings::setShouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
2294 (WebCore::Settings::shouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
2295 (WebCore::Settings::setShouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
2296 (WebCore::Settings::shouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
2297 (WebCore::Settings::setAlwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
2298 (WebCore::Settings::alwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
2299 (WebCore::Settings::setAlwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
2300 (WebCore::Settings::alwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
2301 * page/Settings.in: Added IOS_AIRPLAY-guarded setting: mediaPlaybackAllowsAirPlay.
2302 * page/animation/CSSPropertyAnimation.cpp:
2303 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Added iOS-specific code and FIXME comment.
2304 * page/ios/EventHandlerIOS.mm: Added.
2305 * page/ios/FrameIOS.mm: Added.
2306 * page/mac/ChromeMac.mm:
2307 * page/mac/PageMac.cpp:
2308 (WebCore::Page::addSchedulePair): Opt out of code when building for iOS.
2309 (WebCore::Page::removeSchedulePair): Ditto.
2310 * page/mac/SettingsMac.mm:
2311 (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Added iOS-specific code.
2312 * page/mac/WebCoreFrameView.h:
2314 2013-12-27 Gavin Barraclough <barraclough@apple.com>
2316 Merge PageVisibilityState & ViewState::IsVisible in WebKit2
2317 https://bugs.webkit.org/show_bug.cgi?id=126214
2319 Reviewed by Alexey Proskuryakov.
2321 WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
2322 state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
2323 state also tracks the prerender state - so split this out and handle it separately (a change
2324 we should make in WebCore, too).
2326 WebCore - changes the API tests exposed a bug, a view should only ever come out of the
2327 prerender state when it becomes visible - redundant notifications that the view is still
2328 hidden should be ignored.
2331 (WebCore::Page::setVisibilityState):
2332 - ignore visibility state change to hidden, if the current state is prerender.
2334 2013-12-27 Joseph Pecoraro <pecoraro@apple.com>
2336 Unreviewed Windows build fix for r160946.
2338 Add another file to the Windows InspectorAllInOne.cpp.
2340 * inspector/InspectorAllInOne.cpp:
2342 2013-12-27 Commit Queue <commit-queue@webkit.org>
2344 Unreviewed, rolling out r161096.
2345 http://trac.webkit.org/changeset/161096
2346 https://bugs.webkit.org/show_bug.cgi?id=126256
2348 Made lots of tests crash (Requested by ap on #webkit).
2350 * dom/ContainerNode.cpp:
2351 (WebCore::ContainerNode::insertBefore):
2352 (WebCore::ContainerNode::replaceChild):
2353 (WebCore::willRemoveChildren):
2354 (WebCore::ContainerNode::appendChild):
2356 (WebCore::Document::visibilityStateChanged):
2357 (WebCore::Document::moveNodeIteratorsToNewDocument):
2358 (WebCore::Document::updateRangesAfterChildrenChanged):
2359 (WebCore::Document::nodeChildrenWillBeRemoved):
2360 (WebCore::Document::nodeWillBeRemoved):
2361 (WebCore::Document::textInserted):
2362 (WebCore::Document::textRemoved):
2363 (WebCore::Document::textNodesMerged):
2364 (WebCore::Document::textNodeSplit):
2365 (WebCore::Document::documentWillSuspendForPageCache):
2366 (WebCore::Document::documentDidResumeFromPageCache):
2367 (WebCore::Document::mediaVolumeDidChange):
2368 (WebCore::Document::privateBrowsingStateDidChange):
2369 (WebCore::Document::captionPreferencesChanged):
2370 (WebCore::Document::validateAutoSizingNodes):
2371 (WebCore::Document::resetAutoSizingNodes):
2372 (WebCore::Document::webkitExitFullscreen):
2373 * dom/MutationObserver.cpp:
2374 (WebCore::MutationObserver::disconnect):
2375 (WebCore::MutationObserver::getObservedNodes):
2376 (WebCore::MutationObserver::deliver):
2377 * dom/MutationObserverInterestGroup.cpp:
2378 (WebCore::MutationObserverInterestGroup::isOldValueRequested):
2379 (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
2380 * dom/MutationObserverRegistration.cpp:
2381 (WebCore::MutationObserverRegistration::clearTransientRegistrations):
2382 (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
2384 (WebCore::Node::dumpStatistics):
2385 (WebCore::Document::invalidateNodeListAndCollectionCaches):
2386 (WebCore::NodeListsNodeData::invalidateCaches):
2387 (WebCore::Node::didMoveToNewDocument):
2388 (WebCore::collectMatchingObserversForMutation):
2389 (WebCore::Node::notifyMutationObserversNodeWillDetach):
2390 * dom/NodeRareData.h:
2391 (WebCore::NodeListsNodeData::adoptDocument):
2392 * dom/ScriptExecutionContext.cpp:
2393 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2394 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2395 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2396 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2397 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2398 (WebCore::ScriptExecutionContext::closeMessagePorts):
2399 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
2400 (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
2401 * dom/WebKitNamedFlow.cpp:
2402 (WebCore::WebKitNamedFlow::getRegionsByContent):
2403 (WebCore::WebKitNamedFlow::getRegions):
2404 (WebCore::WebKitNamedFlow::getContent):
2406 2013-12-26 Sam Weinig <sam@webkit.org>
2408 Convert some of WebCore/dom over to range-for loops
2409 https://bugs.webkit.org/show_bug.cgi?id=126250
2411 Reviewed by Andreas Kling.
2413 * dom/ContainerNode.cpp:
2415 * dom/MutationObserver.cpp:
2416 * dom/MutationObserverInterestGroup.cpp:
2417 * dom/MutationObserverRegistration.cpp:
2419 * dom/NodeRareData.h:
2420 * dom/ScriptExecutionContext.cpp:
2421 * dom/WebKitNamedFlow.cpp:
2423 2013-12-26 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2425 [Nix] Cleanup Source/WebCore/PlatformNix.cmake
2426 https://bugs.webkit.org/show_bug.cgi?id=126226
2428 Reviewed by Csaba Osztrogonác.
2430 No new tests needed.
2432 * PlatformNix.cmake:
2434 2013-12-26 Joseph Pecoraro <pecoraro@apple.com>
2436 Unreviewed attempt at Windows build fix.
2438 I think Window's "AllInOne.cpp" is causing a using namespace JSC
2439 to cause naming conflicts between Inspector::TypeBuilder::Debugger::types
2440 and JSC::types. So removing the ambiguity.
2442 * inspector/InjectedScript.cpp:
2443 (WebCore::InjectedScript::getProperties):
2444 (WebCore::InjectedScript::wrapCallFrames):
2446 2013-12-22 Andreas Kling <akling@apple.com>
2448 Make Text::createTextRenderer() take a const RenderStyle&.
2449 <https://webkit.org/b/126136>
2451 Nuke a FIXME about constifying a RenderStyle& local.
2453 Reviewed by Anders Carlsson.
2455 2013-12-22 Andreas Kling <akling@apple.com>
2457 Move more inlines from RenderObject to RenderElement.
2458 <https://webkit.org/b/126134>
2460 Lift some inline functions that use style() from RenderObject over
2461 to RenderElement, making them branchless.
2463 Reviewed by Anders Carlsson.
2465 2013-12-26 ChangSeok Oh <changseok.oh@collabora.com>
2467 Unreviewed build fix after r159526.
2468 isBoxValue is used at out of ENABLE_CSS_SHAPES gaurd. It causes a compile failure.
2469 So I moved isBoxValue to out side of ENABLE_CSS_SHAPES.
2471 * css/CSSParser.cpp:
2473 2013-12-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2475 Set m_pos as private in InlineIterator, and use getter and setter functions.
2476 https://bugs.webkit.org/show_bug.cgi?id=125614
2478 Reviewed by Alexey Proskuryakov.
2480 InlineIterator has been exported m_pos as public directly though it is member variable.
2481 This patch set it as private, and add getter/setter functions for it.
2483 No new tests, no behavior changes.
2485 * rendering/InlineIterator.h:
2486 (WebCore::InlineIterator::setOffset):
2487 (WebCore::operator==):
2488 (WebCore::operator!=):
2489 (WebCore::InlineBidiResolver::appendRun):
2490 * rendering/RenderBlockLineLayout.cpp:
2491 (WebCore::RenderBlockFlow::appendRunsForObject):
2492 (WebCore::constructBidiRunsForLine):
2493 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2494 (WebCore::RenderBlockFlow::matchedEndLine):
2495 (WebCore::LineBreaker::nextSegmentBreak):
2496 * rendering/line/BreakingContextInlineHeaders.h:
2497 (WebCore::BreakingContext::handleBR):
2498 (WebCore::BreakingContext::handleFloat):
2499 (WebCore::iteratorIsBeyondEndOfRenderCombineText):
2500 (WebCore::ensureCharacterGetsLineBox):
2501 (WebCore::BreakingContext::handleText):
2502 (WebCore::checkMidpoints):
2503 (WebCore::BreakingContext::handleEndOfLine):
2504 * rendering/line/TrailingObjects.cpp:
2505 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2507 2013-12-25 Kim Byung Jun <bj1987.kim@samsung.com>
2509 [EFL] Delete file.edc and file_*.png.
2510 https://bugs.webkit.org/show_bug.cgi?id=125134
2512 Reviewed by Gyuyoung Kim.
2514 File_theme uses button form.
2516 * platform/efl/DefaultTheme/CMakeLists.txt:
2517 * platform/efl/DefaultTheme/default.edc:
2518 * platform/efl/DefaultTheme/widget/file/file.edc: Removed.
2519 * platform/efl/DefaultTheme/widget/file/file_focus.png: Removed.
2520 * platform/efl/DefaultTheme/widget/file/file_hover.png: Removed.
2521 * platform/efl/DefaultTheme/widget/file/file_normal.png: Removed.
2522 * platform/efl/DefaultTheme/widget/file/file_press.png: Removed.
2524 2013-12-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2526 [Nix] Adding createDragImageIconForCachedImageFilename method to DragImageNix
2527 https://bugs.webkit.org/show_bug.cgi?id=126230
2529 Reviewed by Daniel Bates.
2531 Also returning nullptr in other functions that were returning 0 as a pointer.
2533 * platform/nix/DragImageNix.cpp:
2534 (WebCore::createDragImageFromImage):
2535 (WebCore::createDragImageIconForCachedImage):
2536 (WebCore::createDragImageIconForCachedImageFilename):
2538 2013-12-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2540 [Nix] Fixing DragData::asFragment signature in DragDataNix.cpp
2541 https://bugs.webkit.org/show_bug.cgi?id=126229
2543 Reviewed by Daniel Bates.
2545 * platform/nix/DragDataNix.cpp:
2546 (WebCore::DragData::asFragment):
2548 2013-12-25 Commit Queue <commit-queue@webkit.org>
2550 Unreviewed, rolling out r161033 and r161074.
2551 http://trac.webkit.org/changeset/161033
2552 http://trac.webkit.org/changeset/161074
2553 https://bugs.webkit.org/show_bug.cgi?id=126240
2555 Oliver says that a rollout would be better (Requested by ap on
2558 * bindings/js/JSDOMWindowCustom.cpp:
2559 (WebCore::JSDOMWindow::put):
2560 * bindings/objc/WebScriptObject.mm:
2561 (-[WebScriptObject setValue:forKey:]):
2562 * bindings/scripts/CodeGeneratorJS.pm:
2563 (GenerateImplementation):
2564 * bindings/scripts/test/JS/JSTestInterface.cpp:
2565 (WebCore::JSTestInterface::putByIndex):
2566 * bridge/NP_jsobject.cpp:
2569 2013-12-25 Brady Eidson <beidson@apple.com>
2571 DatabaseProcess: Implement version changing
2572 https://bugs.webkit.org/show_bug.cgi?id=126099
2574 Reviewed by Sam Weinig.
2576 No new tests (No change in WebCore behavior).
2578 * Modules/indexeddb/IDBTransactionBackend.cpp:
2579 (WebCore::IDBTransactionBackend::commit): Update some logging.
2581 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2582 (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Move some things that used to be in
2583 IDBServerConnectionLevelDB::changeDatabaseVersion to this cross-platform location.
2584 * Modules/indexeddb/IDBTransactionBackendOperations.h:
2585 (WebCore::IDBDatabaseBackend::VersionChangeOperation::transaction):
2587 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2588 (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Move the actual updating of the database backend
2589 metadata to the VersionChangeOperation.
2591 2013-12-25 Martin Robinson <mrobinson@igalia.com>
2593 [GTK] [CMake] Clean up generated sources directories
2594 https://bugs.webkit.org/show_bug.cgi?id=126216
2596 Reviewed by Gustavo Noronha Silva.
2598 * PlatformGTK.cmake: Use the new directory variables.
2600 2013-12-25 Dirk Schulze <krit@webkit.org>
2602 Support <box> values parsing on 'clip-path' property
2603 https://bugs.webkit.org/show_bug.cgi?id=126147
2605 Reviewed by Ryosuke Niwa.
2607 Support parsing of the background reference boxes, margin-box and bounding-box.
2608 A box will be a reference box and define the origin for a basic shape.
2609 If no basic shape is specified, the box defines the clipping path itself.
2610 The specification text follows the changes to CSS Shapes now.
2612 https://dvcs.w3.org/hg/FXTF/raw-file/3f213145303e/css-masking-1/index.html#the-clip-path
2614 Existing parsing test have been extended to test box values as well.
2616 * css/CSSParser.cpp:
2617 (WebCore::CSSParser::parseValue):
2618 (WebCore::CSSParser::parseClipPath):
2620 * css/CSSValueKeywords.in:
2621 * css/DeprecatedStyleBuilder.cpp:
2622 (WebCore::ApplyPropertyClipPath::applyValue):
2624 2013-12-25 David Kilzer <ddkilzer@apple.com>
2626 [iOS] Upstream WebCore/pdf changes
2627 http://webkit.org/b/126097
2629 Reviewed by Sam Weinig.
2631 * WebCore.xcodeproj/project.pbxproj: Added files to project.
2632 * pdf/ios/PDFDocument.cpp: Added.
2633 (WebCore::PDFDocumentParser::create):
2634 (WebCore::PDFDocumentParser::document):
2635 (WebCore::PDFDocumentParser::PDFDocumentParser):
2636 (WebCore::PDFDocument::createParser):
2637 * pdf/ios/PDFDocument.h: Added.
2638 (WebCore::PDFDocument::create):
2639 (WebCore::PDFDocument::PDFDocument):
2641 2013-12-24 Commit Queue <commit-queue@webkit.org>
2643 Unreviewed, rolling out r160959.
2644 http://trac.webkit.org/changeset/160959
2645 https://bugs.webkit.org/show_bug.cgi?id=126222
2647 Caused Windows build to fail (Requested by rfong on #webkit).
2649 * platform/sql/SQLiteDatabase.cpp:
2650 (WebCore::SQLiteDatabase::interrupt):
2652 2013-12-24 Ryosuke Niwa <rniwa@webkit.org>
2654 Unreviewed, rolling out r161051.
2655 http://trac.webkit.org/changeset/161051
2656 https://bugs.webkit.org/show_bug.cgi?id=45994
2658 Caused two DFG tests to hit assertions due to a separate bug
2660 * xml/XMLHttpRequest.cpp:
2661 (WebCore::XMLHttpRequest::status):
2662 (WebCore::XMLHttpRequest::statusText):
2663 * xml/XMLHttpRequest.h:
2664 * xml/XMLHttpRequest.idl:
2666 2013-12-24 Mihnea Ovidenie <mihnea@adobe.com>
2668 [CSSRegions] Crash while repainting an invalid region
2669 https://bugs.webkit.org/show_bug.cgi?id=126152
2671 Reviewed by Daniel Bates.
2673 An invalid region, part of a dependency cycle, should not attempt to repaint content from
2674 its associated named flow, otherwise there may be the case of an infinite repaint cycle,
2675 resulting in a crash due to a stack overflow.
2677 Test: fast/regions/repaint/invalid-region-repaint-crash.html
2679 * rendering/RenderLayer.cpp:
2680 (WebCore::RenderLayer::repaintIncludingDescendants):
2682 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
2684 XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
2685 https://bugs.webkit.org/show_bug.cgi?id=45994
2687 Reviewed by Alexey Proskuryakov.
2689 Merged https://chromium.googlesource.com/chromium/blink/+/23c90460de16e04c5aba7ed942fba76cb79fdb9b.
2691 Latest XHR spec says that XHR should return 0 and an empty string when it's in UNSENT or OPENED state
2692 or error flag is set: http://www.w3.org/TR/2012/WD-XMLHttpRequest-20121206/#the-status-attribute
2694 * xml/XMLHttpRequest.cpp:
2695 (WebCore::XMLHttpRequest::status):
2696 (WebCore::XMLHttpRequest::statusText):
2697 * xml/XMLHttpRequest.h:
2698 * xml/XMLHttpRequest.idl:
2700 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
2702 Crash in ReplaceSelectionCommand
2703 https://bugs.webkit.org/show_bug.cgi?id=126107
2705 Reviewed by Benjamin Poulain.
2707 Merge https://chromium.googlesource.com/chromium/blink/+/c1ebe5c1e808daf9db5e348a8d0ab32570b9f7a5
2708 except the test since it doesn't reproduce the crash in WebKit.
2710 * editing/ReplaceSelectionCommand.cpp:
2711 (WebCore::ReplaceSelectionCommand::doApply):
2713 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
2715 Add the pseudo classes link and any-link to the Selector Code Generator
2716 https://bugs.webkit.org/show_bug.cgi?id=126196
2718 Reviewed by Ryosuke Niwa.
2720 * cssjit/SelectorCompiler.cpp:
2721 (WebCore::SelectorCompiler::addPseudoType):
2722 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2723 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
2725 (WebCore::Node::flagIsElement):
2726 (WebCore::Node::flagIsLink):
2727 Fix the type to match TrustedImm32.
2729 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
2731 Add the experimental CSS code generator files to the remaining build systems
2732 https://bugs.webkit.org/show_bug.cgi?id=126192
2734 Reviewed by Sam Weinig.
2737 * GNUmakefile.list.am:
2738 * WebCore.vcxproj/WebCore.vcxproj:
2739 * WebCore.vcxproj/WebCore.vcxproj.filters:
2741 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
2743 Add the pseudo class :focus to the Selector Code Generator
2744 https://bugs.webkit.org/show_bug.cgi?id=126189
2746 Reviewed by Ryosuke Niwa.
2748 * cssjit/SelectorCompiler.cpp:
2749 (WebCore::SelectorCompiler::addPseudoType):
2750 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2751 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2752 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFocused):
2754 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
2756 Remove boolean argument from Element::setChildrenAffectBy* methods
2757 https://bugs.webkit.org/show_bug.cgi?id=126183
2759 Reviewed by Daniel Bates.
2761 Merge https://chromium.googlesource.com/chromium/blink/+/066ef2fa78336b2b65052cb17cb81b367fe7dbbf
2763 These functions are never called with false.
2765 * css/SelectorChecker.cpp:
2766 (WebCore::SelectorChecker::checkOne):
2768 (WebCore::Element::setChildrenAffectedByActive):
2769 (WebCore::Element::setChildrenAffectedByDrag):
2771 (WebCore::Element::setChildrenAffectedByHover):
2773 2013-12-23 Tim Horton <timothy_horton@apple.com>
2775 Fix the iOS build after r161013 and r160672.
2778 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2779 (PlatformCALayerMac::updateCustomAppearance):
2781 2013-12-23 Oliver Hunt <oliver@apple.com>
2783 Refactor PutPropertySlot to be aware of custom properties
2784 https://bugs.webkit.org/show_bug.cgi?id=126187
2786 Reviewed by msaboff.
2788 Update the bindings code generation and custom objects
2789 to the new function signatures
2791 * bindings/js/JSDOMWindowCustom.cpp:
2792 (WebCore::JSDOMWindow::put):
2793 * bindings/objc/WebScriptObject.mm:
2794 (-[WebScriptObject setValue:forKey:]):
2795 * bindings/scripts/CodeGeneratorJS.pm:
2796 (GenerateImplementation):
2797 * bindings/scripts/test/JS/JSTestInterface.cpp:
2798 (WebCore::JSTestInterface::putByIndex):
2799 * bridge/NP_jsobject.cpp:
2802 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
2804 Add class matching to the Selector Code Generator
2805 https://bugs.webkit.org/show_bug.cgi?id=126176
2807 Reviewed by Antti Koivisto.
2809 Add selector matching based on classname to the Selector Compiler.
2811 * cssjit/SelectorCompiler.cpp:
2812 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2813 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
2814 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):
2815 * dom/ElementData.h:
2816 (WebCore::ElementData::classNamesMemoryOffset):
2817 * dom/SpaceSplitString.h:
2818 (WebCore::SpaceSplitStringData::sizeMemoryOffset):
2819 (WebCore::SpaceSplitStringData::tokensMemoryOffset):
2821 2013-12-23 Daniel Bates <dabates@apple.com>
2823 [iOS] Upstream WebCore/storage changes
2824 https://bugs.webkit.org/show_bug.cgi?id=125913
2826 Reviewed by David Kilzer.
2828 * storage/StorageAreaSync.cpp:
2829 (WebCore::StorageAreaSync::openDatabase): Added iOS-specific code.
2830 (WebCore::StorageAreaSync::sync): Ditto.
2831 * storage/StorageTracker.cpp:
2832 (WebCore::StorageTracker::openTrackerDatabase): Ditto.
2833 (WebCore::StorageTracker::syncImportOriginIdentifiers): Ditto.
2834 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): Ditto.
2835 (WebCore::StorageTracker::syncSetOriginDetails): Ditto.
2836 (WebCore::StorageTracker::syncDeleteAllOrigins): Ditto.
2837 (WebCore::StorageTracker::syncDeleteOrigin): Ditto.
2838 (WebCore::StorageTracker::databasePathForOrigin): Ditto.
2840 2013-12-23 Daniel Bates <dabates@apple.com>
2842 Fix the iOS build following <http://trac.webkit.org/changeset/160236>
2843 (https://bugs.webkit.org/show_bug.cgi?id=125239)
2845 * rendering/RenderBlock.h:
2846 * rendering/RenderBox.cpp:
2847 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Substitute view() for &view().
2848 * rendering/RenderLayer.cpp:
2849 (WebCore::RenderLayer::scrollTo): Fix indentation of closing brace.
2850 * rendering/RenderLayerCompositor.cpp: Include MainFrame.h.
2851 (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Check that page->mainFrame().view()
2852 is non-null; also add explicit #else clause.
2853 (WebCore::RenderLayerCompositor::ensureRootLayer): Fix up main frame check.
2854 * rendering/RenderTheme.h:
2855 (WebCore::RenderTheme::paintFileUploadIconDecorations): Substitute rect for r.
2856 * rendering/RenderThemeIOS.mm:
2857 (WebCore::RenderThemeIOS::paintTextFieldDecorations): Use .get() to access underlying NeverDestroyed item.
2858 (WebCore::RenderThemeIOS::systemFont):
2859 * rendering/RenderView.cpp:
2860 (WebCore::fixedPositionOffset): Substitute frameView.scrollOffset() for frameView->scrollOffset().
2862 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
2864 Minor optimization in FrameSelection::setNonDirectionalSelectionIfNeeded()
2865 https://bugs.webkit.org/show_bug.cgi?id=126108
2867 Reviewed by Benjamin Poulain.
2869 Merge https://chromium.googlesource.com/chromium/blink/+/237b987c324e2e389a9e0350293bfaf16a5e201d
2871 * editing/FrameSelection.cpp:
2872 (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
2874 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
2876 Use isDocumentFragment() instead of comparing nodeType() with Node::DOCUMENT_FRAGMENT_NODE
2877 https://bugs.webkit.org/show_bug.cgi?id=126178
2879 Reviewed by Antti Koivisto.
2881 Inspired by https://chromium.googlesource.com/chromium/blink/+/a622cb80af2bfb0c5d91123cbcfa4fa72a06554c
2883 Use inline Node::isDocumentFragment() instead of virtual nodeType().
2885 * dom/ContainerNode.cpp:
2886 (WebCore::collectChildrenAndRemoveFromOldParent):
2888 (WebCore::Document::canReplaceChild):
2890 2013-12-23 Gwang Yoon Hwang <ryumiel@company100.net>
2892 Clear ScratchBuffer::m_lastLayerSize when clearing the scratch buffer.
2893 https://bugs.webkit.org/show_bug.cgi?id=126150
2895 Reviewed by Simon Fraser.
2897 Since ScratchBuffer::clearScratchBuffer only clears m_lastRadius,
2898 ShadowBlur doesn't draw shadow into the re-created scratch buffer if it
2899 tries to draw shadow without blurRadius.
2901 Clear m_lastLayerSize to empty is enought to ensure that there is no
2902 drawn contents in the scratch buffer.
2904 No new tests due to the flaky nature of reproducing the issue.
2906 * platform/graphics/ShadowBlur.cpp:
2907 (WebCore::ScratchBuffer::clearScratchBuffer):
2909 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
2911 Add id matching to the Selector Code Generator
2912 https://bugs.webkit.org/show_bug.cgi?id=126154
2914 Reviewed by Antti Koivisto.
2916 Compile matching for #id selectors. IDs are Atomic String so it is just a matter
2917 of comparing the pointers.
2919 No attempt is made at optimizing for the double #id case because such problem
2920 do not really happen outside tests.
2922 * cssjit/SelectorCompiler.cpp:
2923 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
2924 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2925 (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
2926 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2927 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
2928 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasId):
2930 (WebCore::Element::elementDataMemoryOffset):
2931 * dom/ElementData.h:
2932 (WebCore::ElementData::idForStyleResolutionMemoryOffset):
2934 2013-12-23 Oliver Hunt <oliver@apple.com>
2936 Update custom setter implementations to perform type checks
2937 https://bugs.webkit.org/show_bug.cgi?id=126171
2939 Reviewed by Daniel Bates.
2941 Update the bindings code generator for setters so that they perform a real
2944 * bindings/scripts/CodeGeneratorJS.pm:
2945 (GenerateAttributeEventListenerCall):
2947 (GenerateImplementation):
2948 * bindings/scripts/test/JS/JSTestInterface.cpp:
2949 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
2950 (WebCore::setJSTestInterfaceImplementsStr2):
2951 (WebCore::setJSTestInterfaceImplementsStr3):
2952 (WebCore::setJSTestInterfaceImplementsNode):
2953 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2954 (WebCore::setJSTestInterfaceSupplementalStr2):
2955 (WebCore::setJSTestInterfaceSupplementalStr3):
2956 (WebCore::setJSTestInterfaceSupplementalNode):
2957 * bindings/scripts/test/JS/JSTestInterface.h:
2958 * bindings/scripts/test/JS/JSTestObj.cpp:
2959 (WebCore::setJSTestObjConstructorStaticStringAttr):
2960 (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
2961 (WebCore::setJSTestObjEnumAttr):
2962 (WebCore::setJSTestObjByteAttr):
2963 (WebCore::setJSTestObjOctetAttr):
2964 (WebCore::setJSTestObjShortAttr):
2965 (WebCore::setJSTestObjUnsignedShortAttr):
2966 (WebCore::setJSTestObjLongAttr):
2967 (WebCore::setJSTestObjLongLongAttr):
2968 (WebCore::setJSTestObjUnsignedLongLongAttr):
2969 (WebCore::setJSTestObjStringAttr):
2970 (WebCore::setJSTestObjTestObjAttr):
2971 (WebCore::setJSTestObjXMLObjAttr):
2972 (WebCore::setJSTestObjCreate):
2973 (WebCore::setJSTestObjReflectedStringAttr):
2974 (WebCore::setJSTestObjReflectedIntegralAttr):
2975 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2976 (WebCore::setJSTestObjReflectedBooleanAttr):
2977 (WebCore::setJSTestObjReflectedURLAttr):
2978 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2979 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2980 (WebCore::setJSTestObjReflectedCustomURLAttr):
2981 (WebCore::setJSTestObjTypedArrayAttr):
2982 (WebCore::setJSTestObjAttrWithGetterException):
2983 (WebCore::setJSTestObjAttrWithSetterException):
2984 (WebCore::setJSTestObjStringAttrWithGetterException):
2985 (WebCore::setJSTestObjStringAttrWithSetterException):
2986 (WebCore::setJSTestObjCustomAttr):
2987 (WebCore::setJSTestObjWithScriptStateAttribute):
2988 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2989 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2990 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2991 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2992 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2993 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2994 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2995 (WebCore::setJSTestObjConditionalAttr1):
2996 (WebCore::setJSTestObjConditionalAttr2):
2997 (WebCore::setJSTestObjConditionalAttr3):
2998 (WebCore::setJSTestObjConditionalAttr4Constructor):
2999 (WebCore::setJSTestObjConditionalAttr5Constructor):
3000 (WebCore::setJSTestObjConditionalAttr6Constructor):
3001 (WebCore::setJSTestObjAnyAttribute):
3002 (WebCore::setJSTestObjMutablePoint):
3003 (WebCore::setJSTestObjImmutablePoint):
3004 (WebCore::setJSTestObjStrawberry):
3005 (WebCore::setJSTestObjStrictFloat):
3006 (WebCore::setJSTestObjId):
3007 (WebCore::setJSTestObjReplaceableAttribute):
3008 (WebCore::setJSTestObjNullableLongSettableAttribute):
3009 (WebCore::setJSTestObjNullableStringValue):
3010 (WebCore::setJSTestObjAttributeWithReservedEnumType):
3011 * bindings/scripts/test/JS/JSTestObj.h:
3012 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3013 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3014 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3015 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3016 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3017 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3018 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
3019 (WebCore::setJSTestTypedefsAttrWithGetterException):
3020 (WebCore::setJSTestTypedefsAttrWithSetterException):
3021 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
3022 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
3023 * bindings/scripts/test/JS/JSTestTypedefs.h:
3025 2013-12-23 Lucas Forschler <lforschler@apple.com>
3027 <rdar://problem/15682948> Update copyright strings
3029 Reviewed by Dan Bernstein
3033 2013-12-23 Commit Queue <commit-queue@webkit.org>
3035 Unreviewed, rolling out r160945.
3036 http://trac.webkit.org/changeset/160945
3037 https://bugs.webkit.org/show_bug.cgi?id=126164
3039 Seems to have broken multiple canvas tests (Requested by ap on
3042 * WebCore.xcodeproj/project.pbxproj:
3043 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
3044 * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
3045 * platform/graphics/cg/ImageBufferCG.cpp:
3046 (WebCore::createIOSurface):
3047 (WebCore::ImageBuffer::ImageBuffer):
3048 (WebCore::ImageBuffer::~ImageBuffer):
3050 2013-12-23 Eric Carlson <eric.carlson@apple.com>
3052 AudioSessionManager should be MediaSessionManager
3053 https://bugs.webkit.org/show_bug.cgi?id=126087
3055 Reviewed by Jer Noble.
3057 No new tests, no change in functionality.
3059 * WebCore.xcodeproj/project.pbxproj: Change file names.
3061 * html/HTMLMediaElement.cpp:
3062 (WebCore::HTMLMediaElement::HTMLMediaElement): MediaSessionManagerToken::create() takes a client
3063 interface instead of the media type.
3064 * html/HTMLMediaElement.h:
3066 * platform/audio/AudioSessionListener.h: Include <wtf/Noncopyable.h>.
3068 AudioSessionManager.* -> MediaSessionManager.*
3069 * platform/audio/AudioSessionManager.cpp: Removed.
3070 * platform/audio/AudioSessionManager.h: Removed.
3071 * platform/audio/MediaSessionManager.cpp: Copied from Source/WebCore/platform/audio/AudioSessionManager.cpp.
3072 (MediaSessionManagerToken::create):
3073 (MediaSessionManagerToken::MediaSessionManagerToken):
3074 (MediaSessionManagerToken::~MediaSessionManagerToken):
3075 (MediaSessionManager::sharedManager):
3076 (MediaSessionManager::MediaSessionManager):
3077 (MediaSessionManager::has):
3078 (MediaSessionManager::count):
3079 (MediaSessionManager::addToken):
3080 (MediaSessionManager::removeToken):
3081 (MediaSessionManager::updateSessionState):
3082 * platform/audio/MediaSessionManager.h: Copied from Source/WebCore/platform/audio/AudioSessionManager.h.
3084 * platform/audio/mac/AudioDestinationMac.cpp:
3085 (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken::create() takes a
3086 client interface instead of the media type.
3087 * platform/audio/mac/AudioDestinationMac.h:
3089 * platform/audio/mac/AudioSessionMac.cpp:
3090 * platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
3091 * platform/audio/mac/MediaSessionManagerMac.cpp: Copied from Source/WebCore/platform/audio/mac/AudioSessionManagerMac.cpp.
3092 (MediaSessionManager::updateSessionState):
3094 2013-12-23 Zan Dobersek <zdobersek@igalia.com>
3096 webkit gtk 2.2.3 stable tarball compilation error
3097 https://bugs.webkit.org/show_bug.cgi?id=125987
3099 Reviewed by Gustavo Noronha Silva.
3101 Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
3102 enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).
3104 * platform/graphics/GLContext.cpp:
3105 (WebCore::GLContext::createContextForWindow):
3107 2013-12-23 Piotr Grad <p.grad@samsung.com>
3109 [GStreamer] video/audio seeking is not unified.
3110 https://bugs.webkit.org/show_bug.cgi?id=125852
3112 Reviewed by Philippe Normand.
3114 This bug is fixing regression with seeking audio/video elements and unifies seeking
3115 in MediaPlayerPrivateGStreamer.
3117 Test: media/video-seek-with-negative-playback.html
3119 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3120 (WebCore::MediaPlayerPrivateGStreamer::seek):
3121 (WebCore::MediaPlayerPrivateGStreamer::seekIncludingRate):
3122 (WebCore::MediaPlayerPrivateGStreamer::setRate):
3123 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
3124 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3126 2013-12-23 ChangSeok Oh <changseok.oh@collabora.com>
3128 [GTK][WK2] WebGL is not working with GLES
3129 https://bugs.webkit.org/show_bug.cgi?id=126138
3131 Reviewed by Martin Robinson.
3133 m_texture has been unnecessarily regenerated. It's generated in GraphicsContext3D
3134 constructor for offscreen rendering. And m_compositorTexture is used by only Mac port.
3135 They create it in their GraphicsContext3D constructor so that we don't need to recreate it
3136 in GC3DOpenGLES::reshapeFBOs.
3138 No new tests since no functionality changed.
3140 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3141 (WebCore::GraphicsContext3D::~GraphicsContext3D):
3142 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3143 (WebCore::GraphicsContext3D::reshapeFBOs):
3144 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3145 (WebCore::GraphicsContext3D::reshapeFBOs):
3147 2013-12-22 Benjamin Poulain <bpoulain@apple.com>
3149 Create a skeleton for CSS Selector code generation
3150 https://bugs.webkit.org/show_bug.cgi?id=126044
3152 Reviewed by Antti Koivisto and Gavin Barraclough.
3154 Add CSSCompiler, which provides the basic infrastructure to compile
3155 CSS Selectors on x86_64.
3157 Compilation happens in two phases.
3158 1) The various matching and relation of each CSSSelector is aggregated into units
3159 matching a single element: SelectorFragment.
3160 SelectorFragment also knows about the relations between different fragments,
3161 and contains all the information to generate the code for a particular element.
3162 2) The compiler then goes over the fragments, and generate code based on the information
3165 It the current state, SelectorCompiler only compiles the tag matching selectors and
3166 any of the relation between selectors.
3168 Depending on the relation and position of a fragment, failure on traversal or matching
3169 does not necessarily causes the complete selector. A failure can cause matching to
3170 resume from the parent or the sibling of a previously visisted node.
3171 The implementation of this is done through the BacktrackingAction. In case of failure,
3172 the next starting state is setup and the program counter jumps back to the appropriate
3175 When backtracking, the method used to save the starting point depends on the type
3177 The child/parent relation (">") is very common so it uses an additional register to keep
3178 the next starting point (m_descendantBacktrackingStart).
3179 The indirect sibling relation ("~") is much less common and uses the stack to save
3180 the next starting point.
3182 * WebCore.xcodeproj/project.pbxproj:
3183 * cssjit/SelectorCompiler.cpp: Added.
3184 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
3185 (WebCore::SelectorCompiler::compileSelector):
3186 (WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
3187 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3188 (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
3189 (WebCore::SelectorCompiler::updateChainStates):
3190 (WebCore::SelectorCompiler::isFirstAncestor):
3191 (WebCore::SelectorCompiler::isFirstAdjacent):
3192 (WebCore::SelectorCompiler::isAfterChildRelation):
3193 (WebCore::SelectorCompiler::solveBacktrackingAction):
3194 (WebCore::SelectorCompiler::requiresAdjacentTail):
3195 (WebCore::SelectorCompiler::requiresDescendantTail):
3196 (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
3197 (WebCore::SelectorCompiler::testIsElementFlagOnNode):
3198 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
3199 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
3200 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
3201 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
3202 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
3203 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
3204 (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
3205 (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
3206 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
3207 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
3208 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
3209 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3210 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
3211 * cssjit/SelectorCompiler.h: Added.
3212 (WebCore::SelectorCompilationStatus::SelectorCompilationStatus):
3213 (WebCore::SelectorCompilationStatus::operator Status):
3214 (WebCore::SelectorCompiler::simpleSelectorCheckerFunction):
3215 (WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext):
3217 (WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
3218 (WebCore::Element::setChildrenAffectedByForwardPositionalRules):
3220 (WebCore::Element::tagQNameMemoryOffset):
3221 (WebCore::Element::setChildrenAffectedByForwardPositionalRules):
3223 (WebCore::Node::parentNodeMemoryOffset):
3224 (WebCore::Node::previousSiblingMemoryOffset):
3225 (WebCore::Node::nodeFlagsMemoryOffset):
3226 (WebCore::Node::flagIsElement):
3227 * dom/QualifiedName.h:
3228 (WebCore::QualifiedName::QualifiedNameImpl::localNameMemoryOffset):
3229 (WebCore::QualifiedName::QualifiedNameImpl::namespaceMemoryOffset):
3230 (WebCore::QualifiedName::implMemoryOffset):
3232 2013-12-22 Mihnea Ovidenie <mihnea@adobe.com>
3234 [CSSRegions] Crash when trying to select content from invalid region
3235 https://bugs.webkit.org/show_bug.cgi?id=126113
3237 Reviewed by Antti Koivisto.
3239 After fix for https://bugs.webkit.org/show_bug.cgi?id=120769, positionForPoint for a region attempts to use the associated named flow to perform its task.
3240 However, this should happen only when the region is valid. If the region is invalid, part of a dependency cycle, positionForPoint should behave as usual
3241 for a block instead of a region, otherwise it may run into an infinite loop due to cyclic dependencies and a crash will occur.
3243 This patch ensures that positionForPoint region specifie behaviour is followed only if the region is valid - not part of a dependency cycle.
3245 Test: fast/regions/selection/invalid-region-selection-crash.html
3247 * rendering/RenderRegion.cpp:
3248 (WebCore::RenderRegion::positionForPoint):
3250 2013-12-21 Dirk Schulze <krit@webkit.org>
3252 Start refactoring Filter code to reuse CachedSVGDocument for clipPath
3253 https://bugs.webkit.org/show_bug.cgi?id=126069
3255 Reviewed by Andreas Kling.
3257 Smaller refactoring of the CSS filter style resolver code. Previously the code
3258 requested the FilterOperations list from RenderStyle and compared the content
3259 in this list with an internal map. Then the resource loading was triggered.
3260 With the refactoring we do not request the list from RenderStyle anymore but
3261 rely on the hash map data entirely.
3263 * css/StyleResolver.cpp:
3264 (WebCore::StyleResolver::loadPendingSVGDocuments):
3265 * platform/graphics/filters/FilterOperation.h:
3267 2013-12-20 Andy Estes <aestes@apple.com>
3269 [Mac] Soft-link WebContentAnalysis.framework
3270 https://bugs.webkit.org/show_bug.cgi?id=126102
3272 Reviewed by Dan Bernstein.
3274 * Configurations/WebCore.xcconfig: There's no need to modify LDFLAGS
3275 now that we don't hard link against WebContentAnalysis.framework.
3276 * WebCore.xcodeproj/project.pbxproj: Removed
3277 WebContentAnalysis.framework from the 'Link Binary with Libraries'
3279 * platform/mac/ContentFilterMac.mm: Soft-linked
3280 WebContentAnalysis.framework and the WebFilterEvaluator @class.
3281 (WebCore::ContentFilter::ContentFilter): Called getWebFilterEvaluatorClass().
3282 (WebCore::ContentFilter::isEnabled): Ditto.
3283 * platform/mac/SoftLinking.h: Added an implementation of
3284 SOFT_LINK_PRIVATE_FRAMEWORK().
3286 2013-12-21 Antti Koivisto <antti@apple.com>
3288 Unreviewed, rolling out r160916.
3289 http://trac.webkit.org/changeset/160916
3290 https://bugs.webkit.org/show_bug.cgi?id=126073
3292 Roll out a temporary fix. The underlying issue was fixed.
3294 * accessibility/AccessibilityRenderObject.cpp:
3295 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3296 (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
3297 (WebCore::AccessibilityRenderObject::detach):
3298 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3299 * accessibility/AccessibilityRenderObject.h:
3301 2013-12-21 Antti Koivisto <antti@apple.com>
3303 Figure out if node is focusable without requiring renderer
3304 https://bugs.webkit.org/show_bug.cgi?id=126118
3306 Reviewed by Andreas Kling.
3309 (WebCore::Element::computedStyle):
3311 Use inDocument() test instead of the attached() test. We can compute style for anything that
3315 (WebCore::Node::isContentEditable):
3316 (WebCore::Node::isContentRichlyEditable):
3317 (WebCore::Node::hasEditableStyle):
3319 Use computedStyle instead of getting the style from renderer. Computed style gets constructed
3320 on demand if renderer does not exist. If it does then the existing style is used.
3322 (WebCore::Node::isEditableToAccessibility):
3323 (WebCore::Node::canStartSelection):
3324 (WebCore::Node::isRootEditableElement):
3325 (WebCore::Node::rootEditableElement):
3327 (WebCore::Node::hasEditableStyle):
3328 (WebCore::Node::hasRichlyEditableStyle):
3330 Renamed from rendererIsEditable since these no longer require renderer.
3332 (WebCore::HTMLElement::supportsFocus):
3334 Stop calling updateStyleIfNeeded() and forcing render tree construction.
3336 2013-12-21 Carlos Garcia Campos <cgarcia@igalia.com>
3338 [SOUP] ResourceHandleSoup should use async client callbacks when client uses async callbacks
3339 https://bugs.webkit.org/show_bug.cgi?id=126006
3341 Reviewed by Martin Robinson.
3343 This fixes WebKit2 loader client unit tests when using the network
3346 * platform/network/ResourceHandle.cpp:
3347 * platform/network/soup/ResourceHandleSoup.cpp:
3348 (WebCore::doRedirect): Call willSendRequestAsync on the client
3349 when usesAsyncCallbacks returns true.
3350 (WebCore::nextMultipartResponsePartCallback): Call
3351 didReceiveResponseAsync on the client when usesAsyncCallbacks
3353 (WebCore::sendRequestCallback): Ditto.
3354 (WebCore::ResourceHandle::continueWillSendRequest): Empty
3355 implementation for now because the default one asserts.
3356 (WebCore::ResourceHandle::continueDidReceiveResponse): Ditto.
3357 (WebCore::ResourceHandle::continueShouldUseCredentialStorage): Ditto.
3359 2013-12-20 Anders Carlsson <andersca@apple.com>
3361 Replace yield() and pauseBriefly() with std::this_thread::yield()
3362 https://bugs.webkit.org/show_bug.cgi?id=126105
3364 Reviewed by Sam Weinig.
3366 * platform/sql/SQLiteDatabase.cpp:
3367 (WebCore::SQLiteDatabase::interrupt):
3369 2013-12-20 Ryosuke Niwa <rniwa@webkit.org>
3371 Assert that RootInlineBox::setLineBreakInfo should is never called on a RenderInline without line boxes
3372 https://bugs.webkit.org/show_bug.cgi?id=126101
3374 Reviewed by Simon Fraser.
3376 Merge assertions added in https://chromium.googlesource.com/chromium/blink/+/716ac74fd475b581d69c0aa8ec2d806201c3a420
3378 The code change was not merged since we never hit the added assertion on the attached test case in WebKit.
3380 * rendering/RootInlineBox.cpp:
3381 (WebCore::RootInlineBox::setLineBreakInfo):
3383 2013-12-20 Joseph Pecoraro <pecoraro@apple.com>
3385 Web Inspector: Remove the references to Node in InjectedScript
3386 https://bugs.webkit.org/show_bug.cgi?id=126091
3388 Reviewed by Timothy Hatcher.
3390 Remove the last DOM references from InjectedScript so that
3391 InjectedScript can move down into JavaScriptCore. The only
3392 remaining references were to Nodes, which are all just thin
3393 wrappers around existing functions. Move Node / JSNode (JSValue)
3394 conversion into InspectorDOMAgent, where it was used.
3396 No new tests, no observable change in functionality.
3398 * bindings/js/JSInjectedScriptHostCustom.cpp:
3399 * inspector/InjectedScript.cpp:
3400 (WebCore::InjectedScript::inspectObject):
3401 (WebCore::InjectedScript::releaseObject):
3402 * inspector/InjectedScript.h:
3403 * inspector/InjectedScriptHost.h:
3404 * inspector/InjectedScriptSource.js:
3405 * inspector/InspectorDOMAgent.cpp:
3406 (WebCore::InspectorDOMAgent::focusNode):
3407 (WebCore::InspectorDOMAgent::highlightNode):
3408 (WebCore::InspectorDOMAgent::requestNode):
3409 (WebCore::InspectorDOMAgent::nodeForObjectId):
3410 (WebCore::InspectorDOMAgent::resolveNode):
3411 (WebCore::InspectorDOMAgent::scriptValueAsNode):
3412 (WebCore::InspectorDOMAgent::nodeAsScriptValue):
3413 * inspector/InspectorDOMAgent.h:
3414 * inspector/PageConsoleAgent.cpp:
3416 2013-12-20 Myles C. Maxfield <mmaxfield@apple.com>
3418 Faster implementation of text-decoration-skip: ink
3419 https://bugs.webkit.org/show_bug.cgi?id=125718
3421 Reviewed by Simon Fraser.
3423 This new implementation of text-decoration-skip: ink extracts
3424 each glyph into a path, then decomposes each path into a series
3425 of contours. It then intersects each contour with the top and
3426 bottom of the underline (by approximating the contour with a line).
3427 It then draws underlines in between these intersection regions.
3429 Tests for text-decoration-skip: ink already exist in
3430 fast/css3-text/css3-text-decoration/text-decoration-skip
3432 * platform/graphics/Font.h: Signature of new function
3433 * platform/graphics/mac/FontMac.mm:
3434 (WebCore::GlyphIterationState::GlyphIterationState): Persistent
3435 between calls to findPathIntersections
3436 (WebCore::findIntersectionPoint): Calculates an intersection point
3438 (WebCore::findPathIntersections): Called by CGPathApply to find
3439 intersections of each contour
3440 (WebCore::Font::intersectionPoints): Function to get the places
3441 where an underline would intersect a TextRun.
3442 * rendering/InlineTextBox.cpp:
3443 (WebCore::compareTuples): Used for sorting intersection ranges
3444 (WebCore::translateIntersectionPointsToSkipInkBoundaries): Converts
3445 a sequence of intersection points to the locations where
3446 text-decoration-skip: ink should draw underlines
3447 (WebCore::drawSkipInkUnderline): Draws a sequence of short underlines
3448 (WebCore::InlineTextBox::paintDecoration):
3449 * rendering/TextPainter.cpp:
3450 (WebCore::TextPainter::intersectionPoints): Calls Font::intersectionPoints
3451 * rendering/TextPainter.h:
3453 2013-12-20 Joseph Pecoraro <pecoraro@apple.com>
3455 Web Inspector: Give the CommandLineAPIModule its own Host object, making InjectedScriptHost viable for a JS Context
3456 https://bugs.webkit.org/show_bug.cgi?id=126082
3458 Reviewed by Timothy Hatcher.
3460 Extract CommandLineAPIHost from InjectedScriptHost. The command line API contained
3461 a bunch of DOM specific JavaScript that would not be suitable for a pure JavaScript
3462 environment. Now that the DOM related code is in this WebCore only module, give this
3463 module a host object that WebCore will provide.
3465 No new tests, no observable change in functionality.