1 2013-06-20 Ryosuke Niwa <rniwa@webkit.org>
3 REGRESSION(r149652): accessing items in .children via id doesn't work when element is not rooted in DOM tree
4 https://bugs.webkit.org/show_bug.cgi?id=117836
6 Reviewed by Benjamin Poulain.
8 When the root node of a HTML collection is not in the document or in a shadow tree,
9 we shouldn't use its tree scope's id and name maps to find name getters.
11 Always use the slow path in such cases.
13 Test: fast/dom/htmlallcollection-detached-node-children.html
15 * html/HTMLCollection.cpp:
16 (WebCore::HTMLCollection::namedItem):
18 2013-06-20 Alexey Proskuryakov <ap@apple.com>
20 https://bugs.webkit.org/show_bug.cgi?id=116495
21 Fix null-pointer deref in DocumentLoader::responseReceived()
23 Patch by Nate Chapin, reviewed by Mike West and myself.
25 Test: http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html
27 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::responseReceived): Added
30 2013-06-20 Roger Fong <roger_fong@apple.com>
32 Unreviewed. Roll out part of r150618.
34 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
36 2013-06-20 Enrica Casucci <enrica@apple.com>
38 Initial advance on the first glyph of the run is not correctly set for rtl text.
39 https://bugs.webkit.org/show_bug.cgi?id=117839
40 <rdar://problem/13860717>
42 Reviewed by Sam Weinig.
44 We need to set the initial advance to the glyphBuffer, using the
45 initial advance of the complex run that will be drawn first.
46 In order to choose the run correctly we must consider the text direction.
48 Test: fast/text/complex-first-glyph-with-initial-advance.html
50 * platform/graphics/mac/ComplexTextController.cpp:
51 (WebCore::ComplexTextController::advance):
53 2013-06-20 Alex Christensen <achristensen@apple.com>
55 Fixed WebGL compile errors on Windows.
56 https://bugs.webkit.org/show_bug.cgi?id=117805
58 Reviewed by Brent Fulgham.
60 * html/canvas/WebGLRenderingContext.cpp: Included CString.h.
61 Added PLATFORM(WIN) to existing lists of platform macros.
62 * platform/graphics/ANGLEWebKitBridge.h:
63 * platform/graphics/GraphicsContext3D.h:
64 (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
65 * platform/graphics/OpenGLESShims.h:
67 2013-06-20 Simon Fraser <simon.fraser@apple.com>
69 FrameView needs to initialize paintsEntireContents on creation
70 https://bugs.webkit.org/show_bug.cgi?id=117844
72 Reviewed by Anders Carlsson.
74 In WebKit1, if the WebView is layer-backed, WebHTMLView gets a layer.
75 In this mode, FrameView::paintsEntireContents() is true. However,
76 we would only call setPaintsEntireContents(true) on the FrameView
77 when the view's layer-backed status changes. FrameView also needs
78 to fetch this state when it is initialized, because we may be creating
79 a new FrameView for an already layer-backed WebHTMLView.
81 * page/ChromeClient.h:
82 (WebCore::ChromeClient::shouldPaintEntireContents):
84 (WebCore::FrameView::init):
86 2013-06-20 Simon Fraser <simon.fraser@apple.com>
88 Sticky elements are missing or misplaced sometimes when reloading a page that scrolls to a named anchor
89 https://bugs.webkit.org/show_bug.cgi?id=117819
91 Reviewed by Anders Carlsson.
93 At the end of FrameView::performPostLayoutTasks() we call scrollToAnchor() which attempts
94 to restore the scroll position to a named anchor, even when the document has been
95 changed by layout. This ends up in a call to ScrollView::scrollTo(), which in turn
96 calls repaintFixedElementsAfterScrolling(). However, repaintFixedElementsAfterScrolling()
97 would bail if m_nestedLayoutCount != 0, so we never updated layer positions which
98 depend on scroll position (but which would not be updated by layout, since their
99 renderers are not marked for layout when scrolling happens).
101 We've solved this problem once before in updateFixedElementsAfterScrolling() which
102 checks for m_nestedLayoutCount <= 1, so that we do work on the outermost nested layout.
103 Apply that same fix to repaintFixedElementsAfterScrolling().
105 Very timing-dependent, so hard to make a test.
107 * page/FrameView.cpp:
108 (WebCore::FrameView::repaintFixedElementsAfterScrolling):
110 2013-06-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
112 HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
113 https://bugs.webkit.org/show_bug.cgi?id=117830
115 Reviewed by Anders Carlsson.
117 The order of the template arguments at HashSet alternate 'find', 'contains' and
118 'add' methods is reversed so that callers can just pass the translator
119 and let the compiler deduce input argument type.
121 No new tests. No new functionality.
123 * dom/QualifiedName.cpp:
124 (WebCore::QualifiedName::QualifiedName):
125 * platform/graphics/cg/SubimageCacheWithTimer.cpp:
126 (WebCore::SubimageCacheWithTimer::getSubimage):
127 * svg/SVGAElement.cpp:
128 (WebCore::SVGAElement::isSupportedAttribute):
129 * svg/SVGAnimateMotionElement.cpp:
130 (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
131 * svg/SVGAnimateTransformElement.cpp:
132 (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
133 * svg/SVGAnimationElement.cpp:
134 (WebCore::SVGAnimationElement::isSupportedAttribute):
135 * svg/SVGCircleElement.cpp:
136 (WebCore::SVGCircleElement::isSupportedAttribute):
137 * svg/SVGClipPathElement.cpp:
138 (WebCore::SVGClipPathElement::isSupportedAttribute):
139 * svg/SVGComponentTransferFunctionElement.cpp:
140 (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
141 * svg/SVGCursorElement.cpp:
142 (WebCore::SVGCursorElement::isSupportedAttribute):
143 * svg/SVGEllipseElement.cpp:
144 (WebCore::SVGEllipseElement::isSupportedAttribute):
145 * svg/SVGFEBlendElement.cpp:
146 (WebCore::SVGFEBlendElement::isSupportedAttribute):
147 * svg/SVGFEColorMatrixElement.cpp:
148 (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
149 * svg/SVGFEComponentTransferElement.cpp:
150 (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
151 * svg/SVGFECompositeElement.cpp:
152 (WebCore::SVGFECompositeElement::isSupportedAttribute):
153 * svg/SVGFEConvolveMatrixElement.cpp:
154 (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
155 * svg/SVGFEDiffuseLightingElement.cpp:
156 (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
157 * svg/SVGFEDisplacementMapElement.cpp:
158 (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
159 * svg/SVGFEDropShadowElement.cpp:
160 (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
161 * svg/SVGFEGaussianBlurElement.cpp:
162 (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
163 * svg/SVGFEImageElement.cpp:
164 (WebCore::SVGFEImageElement::isSupportedAttribute):
165 * svg/SVGFELightElement.cpp:
166 (WebCore::SVGFELightElement::isSupportedAttribute):
167 * svg/SVGFEMergeNodeElement.cpp:
168 (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
169 * svg/SVGFEMorphologyElement.cpp:
170 (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
171 * svg/SVGFEOffsetElement.cpp:
172 (WebCore::SVGFEOffsetElement::isSupportedAttribute):
173 * svg/SVGFESpecularLightingElement.cpp:
174 (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
175 * svg/SVGFETileElement.cpp:
176 (WebCore::SVGFETileElement::isSupportedAttribute):
177 * svg/SVGFETurbulenceElement.cpp:
178 (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
179 * svg/SVGFilterElement.cpp:
180 (WebCore::SVGFilterElement::isSupportedAttribute):
181 (WebCore::SVGFilterElement::childShouldCreateRenderer):
182 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
183 (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
184 * svg/SVGForeignObjectElement.cpp:
185 (WebCore::SVGForeignObjectElement::isSupportedAttribute):
186 * svg/SVGGElement.cpp:
187 (WebCore::SVGGElement::isSupportedAttribute):
188 * svg/SVGGradientElement.cpp:
189 (WebCore::SVGGradientElement::isSupportedAttribute):
190 * svg/SVGImageElement.cpp:
191 (WebCore::SVGImageElement::isSupportedAttribute):
192 * svg/SVGLineElement.cpp:
193 (WebCore::SVGLineElement::isSupportedAttribute):
194 * svg/SVGLinearGradientElement.cpp:
195 (WebCore::SVGLinearGradientElement::isSupportedAttribute):
196 * svg/SVGMPathElement.cpp:
197 (WebCore::SVGMPathElement::isSupportedAttribute):
198 * svg/SVGMarkerElement.cpp:
199 (WebCore::SVGMarkerElement::isSupportedAttribute):
200 * svg/SVGMaskElement.cpp:
201 (WebCore::SVGMaskElement::isSupportedAttribute):
202 * svg/SVGPathElement.cpp:
203 (WebCore::SVGPathElement::isSupportedAttribute):
204 * svg/SVGPatternElement.cpp:
205 (WebCore::SVGPatternElement::isSupportedAttribute):
206 * svg/SVGPolyElement.cpp:
207 (WebCore::SVGPolyElement::isSupportedAttribute):
208 * svg/SVGRadialGradientElement.cpp:
209 (WebCore::SVGRadialGradientElement::isSupportedAttribute):
210 * svg/SVGRectElement.cpp:
211 (WebCore::SVGRectElement::isSupportedAttribute):
212 * svg/SVGScriptElement.cpp:
213 (WebCore::SVGScriptElement::isSupportedAttribute):
214 * svg/SVGStopElement.cpp:
215 (WebCore::SVGStopElement::isSupportedAttribute):
216 * svg/SVGStyleElement.cpp:
217 (WebCore::SVGStyleElement::isSupportedAttribute):
218 * svg/SVGStyledTransformableElement.cpp:
219 (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
220 * svg/SVGSymbolElement.cpp:
221 (WebCore::SVGSymbolElement::isSupportedAttribute):
222 * svg/SVGTRefElement.cpp:
223 (WebCore::SVGTRefElement::isSupportedAttribute):
224 * svg/SVGTextContentElement.cpp:
225 (WebCore::SVGTextContentElement::isSupportedAttribute):
226 * svg/SVGTextElement.cpp:
227 (WebCore::SVGTextElement::isSupportedAttribute):
228 * svg/SVGTextPathElement.cpp:
229 (WebCore::SVGTextPathElement::isSupportedAttribute):
230 * svg/SVGTextPositioningElement.cpp:
231 (WebCore::SVGTextPositioningElement::isSupportedAttribute):
232 * svg/SVGUseElement.cpp:
233 (WebCore::SVGUseElement::isSupportedAttribute):
234 (WebCore::isDisallowedElement):
235 * svg/SVGViewElement.cpp:
236 (WebCore::SVGViewElement::isSupportedAttribute):
237 * svg/animation/SVGSMILElement.cpp:
238 (WebCore::SVGSMILElement::isSupportedAttribute):
240 2013-06-20 Commit Queue <commit-queue@webkit.org>
242 Unreviewed, rolling out r151451.
243 http://trac.webkit.org/changeset/151451
244 https://bugs.webkit.org/show_bug.cgi?id=117848
246 "Broke quite a lot of sites" (Requested by rhogan on #webkit).
248 * rendering/RenderBox.cpp:
249 (WebCore::RenderBox::computePositionedLogicalWidth):
250 (WebCore::RenderBox::computePositionedLogicalHeight):
251 * rendering/RenderBox.h:
252 (WebCore::RenderBox::intrinsicSize):
253 * rendering/RenderButton.h:
254 * rendering/RenderListBox.cpp:
255 (WebCore::RenderListBox::RenderListBox):
256 (WebCore::RenderListBox::computeLogicalHeight):
257 * rendering/RenderListBox.h:
258 * rendering/RenderMenuList.h:
259 * rendering/RenderReplaced.h:
260 * rendering/RenderTextControl.cpp:
261 (WebCore::RenderTextControl::RenderTextControl):
262 (WebCore::RenderTextControl::computeLogicalHeight):
263 * rendering/RenderTextControl.h:
265 2013-06-20 Commit Queue <commit-queue@webkit.org>
267 Unreviewed, rolling out r151788.
268 http://trac.webkit.org/changeset/151788
269 https://bugs.webkit.org/show_bug.cgi?id=117847
271 "This is the wrong fix" (Requested by rhogan on #webkit).
273 * rendering/RenderTextControl.cpp:
274 (WebCore::RenderTextControl::computeLogicalHeight):
275 (WebCore::RenderTextControl::computePreferredLogicalWidths):
277 2013-05-24 Balazs Kelemen <kbalazs@webkit.org>
279 [Gstreamer] cleanup buffering and state updates
280 https://bugs.webkit.org/show_bug.cgi?id=116642
282 Reviewed by Philippe Normand.
284 Covered by existing media tests, especially the ones that have been unskipped.
286 Always do download buffering. It should not differ if preload is "none" because
287 it's about when to start buffering, not about how. Fix a bunch other subtle issues
288 to make this change go smoothly with the tests. As a bonus some tests that were
289 failing so far started to pass.
290 It is possible to further tweak the buffering in a way that will enable us to support
291 a different and appropriate behavior for preload="metadata" but it should be managed
292 a bit differently. I will implement it in a follow-up.
294 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
295 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
296 (WebCore::MediaPlayerPrivateGStreamer::load): Don't call setDownloadBuffering
297 yet. Now it also responsible for starting the fill timer and it turned out that
298 setting the download flag before the pipeline is set to a state has negative
299 effect on some tests. Most probably GStreamer starts buffering too early if
300 we set the download flag.
301 (WebCore::MediaPlayerPrivateGStreamer::commitLoad): Call setDownloadBuffering now.
302 (WebCore::MediaPlayerPrivateGStreamer::play): Ditto, plus set m_delayingLoad to false
303 because otherwise setPreload will wrongly assume that the load has not been committed
304 yet if prepareToPlay is not called before play.
305 (WebCore::MediaPlayerPrivateGStreamer::pause): Make sure we don't commit a load here
306 if it was not committed yet by looking in the pipeline state.
307 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): No need to observe the
309 (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Introduced m_downloadFinished to update
310 ready and network states in updateStates based on it. The previously used condition
311 - (maxTimeLoaded() == duration()) - was not correct in the case when duration is not known.
312 (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded): Removed a lie. If the fill timer is not active
313 it does not necesarily means that download has been finished. This lie was actually ensuring
314 a lot of tests to pass because it made the condition (maxTimeLoaded() == duration()) true.
315 Now that state updates has been cleaned up we don't need to lie.
316 (WebCore::MediaPlayerPrivateGStreamer::updateStates): Merge all the parts that takes part in updating
317 ready and network states. It was untrackable. Unset download buffering for for live streams early so
318 we don't need to restart them.
319 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
320 (MediaPlayerPrivateGStreamer): Removed m_startedBuffering because there is no need for it now.
322 2013-06-20 Eric Carlson <eric.carlson@apple.com>
324 ASSERT removing then adding a <track> element
325 https://bugs.webkit.org/show_bug.cgi?id=117814
327 Reviewed by Jer Noble.
329 Test: media/track/add-and-remove-track.html
331 * html/HTMLTrackElement.cpp:
332 (WebCore::HTMLTrackElement::insertedInto): Always call ensureTrack before adding the track
333 to the parent <video> element.
334 (WebCore::HTMLTrackElement::ensureTrack): Call m_track->setTrackElement() in case the
335 parent was cleared after m_track was created.
337 * html/track/LoadableTextTrack.cpp:
338 (WebCore::LoadableTextTrack::setTrackElement): New, set m_trackElement.
339 * html/track/LoadableTextTrack.h:
341 2013-06-20 Roger Fong <roger_fong@apple.com>
343 Unreviewed. Build fix for Apple Windows port.
345 * rendering/RenderThemeWin.cpp:
346 (WebCore::cssValueIdToSysColorIndex):
348 2013-06-20 Alexey Proskuryakov <ap@apple.com>
350 [Mac] Downloaded file name encoding is incorrect when download link opens in a new window
351 https://bugs.webkit.org/show_bug.cgi?id=117818
352 <rdar://problem/14212635>
354 Reviewed by Brady Eidson.
356 No tests added. The machinery we have for logging downloaded file name is very
357 far from being able to work in a secondary window.
359 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
360 Made a targeted fix - don't update encoding fallback array if we already have one,
361 there is no chance for it to be more correct. In this case, it's incorrect because
362 it comes from a new blank window, instead of original referer.
363 We have a lot of code in addExtraFieldsToRequest() to struggle with this, and we have
364 a FIXME to try not calling it from policy delegate.
366 2013-06-18 Robert Hogan <robert@webkit.org>
368 REGRESSION (r151451): Text not vertically centered correctly on icloud.com
369 https://bugs.webkit.org/show_bug.cgi?id=117744
371 Reviewed by David Hyatt.
373 The positioned height and width computation adds in the element's border and padding so
374 don't add it to the intrinsic height and preferred widths of text controls that are
375 absolutely positioned.
377 Test: fast/replaced/height-of-positioned-text-control.html
379 * rendering/RenderTextControl.cpp:
380 (WebCore::RenderTextControl::computeLogicalHeight):
381 (WebCore::RenderTextControl::computePreferredLogicalWidths):
383 2013-06-20 Roger Fong <roger_fong@apple.com>
385 Make Windows makefile copy build output to a different folder.
386 <rdar://problem/14219184>.
388 * WebCore.vcxproj/WebCore.make:
390 2013-06-19 Jer Noble <jer.noble@apple.com>
392 Roll-on in-band captions are displayed bottom-to-top rather than top-to-bottom.
393 https://bugs.webkit.org/show_bug.cgi?id=117811
395 Reviewed by Eric Carlson.
397 When comparing Generic cues, we should check that their type is Generic, not WebVTT.
399 * html/track/TextTrackCueGeneric.cpp:
400 (WebCore::TextTrackCueGeneric::isOrderedBefore):
402 2013-06-20 Ralph Thomas <ralpht@gmail.com>
404 [CMake][CSS Shaders] Add WebCore files for CSS Shaders to CMakeLists.txt
405 https://bugs.webkit.org/show_bug.cgi?id=117711
407 Reviewed by Laszlo Gombos.
409 No new tests, no CMake platforms currently enable this functionality.
413 2013-06-20 Alexis Menard <alexis@webkit.org>
415 Cleanup usage of CSSPropertyID and CSSValueID inside WebKit.
416 https://bugs.webkit.org/show_bug.cgi?id=117829
418 Reviewed by Andreas Kling.
420 A lot of call sites were using integers to represent them. While it's
421 not incorrect per se, it's not ideal for various reason such as type
422 safety or to remove ambiguity.
424 This patch eradicate the wrong usage by not letting any integer based
425 API for getting CSSValueIDs or CSSPropertyIDs from CSSPrimitiveValues.
427 Instead we use new but typed functions to construct the values as well
428 as getting them. Two customs and internal types were added to CSSPrimitiveValue
429 to handle correctly the new APIs.
431 It's good to note that in order to preserve compatibility on the
432 CSSPrimitiveValue type whenever CSSPrimitiveValue handles a CSSValueID
433 or a CSSPropertyID the return type for the public API will be CSS_IDENT
434 despite it is a separate internal type.
436 No new tests: refactor, existing tests should cover.
438 * css/CSSComputedStyleDeclaration.cpp:
439 (WebCore::ComputedStyleExtractor::propertyMatches):
440 * css/CSSFontSelector.cpp:
441 (WebCore::CSSFontSelector::addFontFaceRule):
442 * css/CSSGradientValue.cpp:
443 (WebCore::positionFromValue):
444 (WebCore::CSSLinearGradientValue::customCssText):
445 (WebCore::CSSLinearGradientValue::createGradient):
446 (WebCore::CSSRadialGradientValue::customCssText):
447 (WebCore::CSSRadialGradientValue::createGradient):
449 (WebCore::CSSParser::parseSystemColor):
450 (WebCore::isFillPositionKeyword):
451 (WebCore::CSSParser::parse4ValuesFillPosition):
452 (WebCore::CSSParser::parse3ValuesFillPosition):
453 (WebCore::CSSParser::parseFillPosition):
454 (WebCore::CSSParser::parseFillRepeat):
455 (WebCore::CSSParser::parseRadialGradient):
456 (WebCore::CSSParser::isBlendMode):
457 (WebCore::CSSParser::isCompositeOperator):
459 * css/CSSParserValues.cpp:
460 (WebCore::CSSParserValue::createCSSValue):
461 * css/CSSPrimitiveValue.cpp:
462 (WebCore::isValidCSSUnitTypeForDoubleConversion):
463 (WebCore::CSSPrimitiveValue::primitiveType):
464 (WebCore::propertyName):
465 (WebCore::valueName):
466 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
467 (WebCore::CSSPrimitiveValue::cleanup):
468 (WebCore::CSSPrimitiveValue::getStringValue):
469 (WebCore::CSSPrimitiveValue::customCssText):
470 (WebCore::CSSPrimitiveValue::cloneForCSSOM):
471 (WebCore::CSSPrimitiveValue::equals):
472 * css/CSSPrimitiveValue.h:
473 (WebCore::CSSPrimitiveValue::isFontRelativeLength):
474 (WebCore::CSSPrimitiveValue::isValueID):
475 (WebCore::CSSPrimitiveValue::createIdentifier):
476 (WebCore::CSSPrimitiveValue::createParserOperator):
477 (WebCore::CSSPrimitiveValue::getPropertyID):
478 (WebCore::CSSPrimitiveValue::getValueID):
479 * css/CSSPrimitiveValueMappings.h:
480 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
481 (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
482 (WebCore::CSSPrimitiveValue::operator ColumnSpan):
483 (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
484 (WebCore::CSSPrimitiveValue::operator EBorderStyle):
485 (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
486 (WebCore::CSSPrimitiveValue::operator CompositeOperator):
487 (WebCore::CSSPrimitiveValue::operator ControlPart):
488 (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
489 (WebCore::CSSPrimitiveValue::operator EFillAttachment):
490 (WebCore::CSSPrimitiveValue::operator EFillBox):
491 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
492 (WebCore::CSSPrimitiveValue::operator EBoxPack):
493 (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
494 (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
495 (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
496 (WebCore::CSSPrimitiveValue::operator EBoxSizing):
497 (WebCore::CSSPrimitiveValue::operator EBoxDirection):
498 (WebCore::CSSPrimitiveValue::operator EBoxLines):
499 (WebCore::CSSPrimitiveValue::operator EBoxOrient):
500 (WebCore::CSSPrimitiveValue::operator ECaptionSide):
501 (WebCore::CSSPrimitiveValue::operator EClear):
502 (WebCore::CSSPrimitiveValue::operator ECursor):
503 (WebCore::CSSPrimitiveValue::operator CursorVisibility):
504 (WebCore::CSSPrimitiveValue::operator EDisplay):
505 (WebCore::CSSPrimitiveValue::operator EEmptyCell):
506 (WebCore::CSSPrimitiveValue::operator EAlignItems):
507 (WebCore::CSSPrimitiveValue::operator EJustifyContent):
508 (WebCore::CSSPrimitiveValue::operator EFlexDirection):
509 (WebCore::CSSPrimitiveValue::operator EAlignContent):
510 (WebCore::CSSPrimitiveValue::operator EFlexWrap):
511 (WebCore::CSSPrimitiveValue::operator EFloat):
512 (WebCore::CSSPrimitiveValue::operator LineBreak):
513 (WebCore::CSSPrimitiveValue::operator EListStylePosition):
514 (WebCore::CSSPrimitiveValue::operator EListStyleType):
515 (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
516 (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
517 (WebCore::CSSPrimitiveValue::operator RegionFragment):
518 (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
519 (WebCore::CSSPrimitiveValue::operator ENBSPMode):
520 (WebCore::CSSPrimitiveValue::operator EOverflow):
521 (WebCore::CSSPrimitiveValue::operator EPageBreak):
522 (WebCore::CSSPrimitiveValue::operator EPosition):
523 (WebCore::CSSPrimitiveValue::operator EResize):
524 (WebCore::CSSPrimitiveValue::operator ETableLayout):
525 (WebCore::CSSPrimitiveValue::operator ETextAlign):
526 (WebCore::CSSPrimitiveValue::operator TextAlignLast):
527 (WebCore::CSSPrimitiveValue::operator TextJustify):
528 (WebCore::CSSPrimitiveValue::operator TextDecoration):
529 (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
530 (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
531 (WebCore::CSSPrimitiveValue::operator ETextSecurity):
532 (WebCore::CSSPrimitiveValue::operator ETextTransform):
533 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
534 (WebCore::CSSPrimitiveValue::operator EUserDrag):
535 (WebCore::CSSPrimitiveValue::operator EUserModify):
536 (WebCore::CSSPrimitiveValue::operator EUserSelect):
537 (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
538 (WebCore::CSSPrimitiveValue::operator EVisibility):
539 (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
540 (WebCore::CSSPrimitiveValue::operator EWordBreak):
541 (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
542 (WebCore::CSSPrimitiveValue::operator TextDirection):
543 (WebCore::CSSPrimitiveValue::operator WritingMode):
544 (WebCore::CSSPrimitiveValue::operator TextCombine):
545 (WebCore::CSSPrimitiveValue::operator RubyPosition):
546 (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
547 (WebCore::CSSPrimitiveValue::operator TextOverflow):
548 (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
549 (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
550 (WebCore::CSSPrimitiveValue::operator TextOrientation):
551 (WebCore::CSSPrimitiveValue::operator EPointerEvents):
552 (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
553 (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
554 (WebCore::CSSPrimitiveValue::operator FontWeight):
555 (WebCore::CSSPrimitiveValue::operator FontItalic):
556 (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
557 (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
558 (WebCore::CSSPrimitiveValue::operator ColorSpace):
559 (WebCore::CSSPrimitiveValue::operator Hyphens):
560 (WebCore::CSSPrimitiveValue::operator LineSnap):
561 (WebCore::CSSPrimitiveValue::operator LineAlign):
562 (WebCore::CSSPrimitiveValue::operator Order):
563 (WebCore::CSSPrimitiveValue::operator ESpeak):
564 (WebCore::CSSPrimitiveValue::operator BlendMode):
565 (WebCore::CSSPrimitiveValue::operator LineCap):
566 (WebCore::CSSPrimitiveValue::operator LineJoin):
567 (WebCore::CSSPrimitiveValue::operator WindRule):
568 (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
569 (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
570 (WebCore::CSSPrimitiveValue::operator EBorderFit):
571 (WebCore::CSSPrimitiveValue::operator EImageRendering):
572 (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
573 (WebCore::CSSPrimitiveValue::operator ColumnAxis):
574 (WebCore::CSSPrimitiveValue::operator ColumnProgression):
575 (WebCore::CSSPrimitiveValue::operator WrapFlow):
576 (WebCore::CSSPrimitiveValue::operator WrapThrough):
577 (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
578 (WebCore::CSSPrimitiveValue::convertToLength):
579 (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
580 (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
581 (WebCore::CSSPrimitiveValue::operator EColorRendering):
582 (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
583 (WebCore::CSSPrimitiveValue::operator EShapeRendering):
584 (WebCore::CSSPrimitiveValue::operator ETextAnchor):
585 (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
586 (WebCore::CSSPrimitiveValue::operator EVectorEffect):
587 (WebCore::CSSPrimitiveValue::operator EMaskType):
588 * css/CSSToStyleMap.cpp:
589 (WebCore::CSSToStyleMap::mapFillAttachment):
590 (WebCore::CSSToStyleMap::mapFillSize):
591 (WebCore::CSSToStyleMap::mapAnimationDirection):
592 (WebCore::CSSToStyleMap::mapAnimationFillMode):
593 (WebCore::CSSToStyleMap::mapAnimationIterationCount):
594 (WebCore::CSSToStyleMap::mapAnimationName):
595 (WebCore::CSSToStyleMap::mapAnimationPlayState):
596 (WebCore::CSSToStyleMap::mapAnimationProperty):
597 (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
598 (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
599 (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
601 (WebCore::Counter::listStyleIdent):
602 * css/DeprecatedStyleBuilder.cpp:
603 (WebCore::ApplyPropertyNumber::applyValue):
604 (WebCore::ApplyPropertyAuto::applyValue):
605 (WebCore::ApplyPropertyClip::applyValue):
606 (WebCore::ApplyPropertyColor::applyValue):
607 (WebCore::ApplyPropertyLength::applyValue):
608 (WebCore::ApplyPropertyString::applyValue):
609 (WebCore::ApplyPropertyComputeLength::applyValue):
610 (WebCore::ApplyPropertyFontFamily::applyValue):
611 (WebCore::ApplyPropertyFontSize::applyValue):
612 (WebCore::ApplyPropertyFontWeight::applyValue):
613 (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
614 (WebCore::ApplyPropertyCounter::applyValue):
615 (WebCore::ApplyPropertyCursor::applyValue):
616 (WebCore::ApplyPropertyTextAlign::applyValue):
617 (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
618 (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
619 (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
620 (WebCore::ApplyPropertyLineHeight::applyValue):
621 (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
622 (WebCore::ApplyPropertyPageSize::applyValue):
623 (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
624 (WebCore::ApplyPropertyResize::applyValue):
625 (WebCore::ApplyPropertyVerticalAlign::applyValue):
626 (WebCore::ApplyPropertyZoom::applyValue):
627 (WebCore::ApplyPropertyClipPath::applyValue):
628 (WebCore::ApplyPropertyShape::applyValue):
629 (WebCore::ApplyPropertyImageResolution::applyValue):
630 (WebCore::ApplyPropertyTextIndent::applyValue):
631 * css/MediaQueryEvaluator.cpp:
632 (WebCore::orientationMediaFeatureEval):
633 (WebCore::view_modeMediaFeatureEval):
634 (WebCore::pointerMediaFeatureEval):
635 * css/SVGCSSParser.cpp:
636 (WebCore::CSSParser::parseSVGValue):
637 * css/SVGCSSStyleSelector.cpp:
638 (WebCore::StyleResolver::applySVGProperty):
639 * css/StylePropertySet.cpp:
640 (WebCore::StylePropertySet::getLayeredShorthandValue):
641 * css/StyleResolver.cpp:
642 (WebCore::createGridTrackBreadth):
643 (WebCore::createGridTrackList):
644 (WebCore::createGridPosition):
645 (WebCore::StyleResolver::applyProperty):
646 (WebCore::colorForCSSValue):
647 (WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
648 (WebCore::StyleResolver::colorFromPrimitiveValue):
649 (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
650 (WebCore::StyleResolver::createFilterOperations):
651 * css/ViewportStyleResolver.cpp:
652 (WebCore::ViewportStyleResolver::getViewportArgumentValue):
653 * css/WebKitCSSMatrix.cpp:
654 (WebCore::WebKitCSSMatrix::setMatrixValue):
655 * editing/ApplyStyleCommand.cpp:
656 (WebCore::toIdentifier):
657 * editing/EditingStyle.cpp:
658 (WebCore::identifierForStyleProperty):
659 (WebCore::HTMLElementEquivalent::create):
660 (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
661 (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
662 (WebCore::HTMLTextDecorationEquivalent::create):
663 (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent):
664 (WebCore::EditingStyle::textDirection):
665 (WebCore::EditingStyle::prepareToApplyAt):
666 (WebCore::EditingStyle::textDirectionForSelection):
667 (WebCore::fontWeightIsBold):
668 (WebCore::legacyFontSizeFromCSSValue):
669 (WebCore::isTransparentColorValue):
670 * editing/EditingStyle.h:
671 * editing/markup.cpp:
672 (WebCore::propertyMissingOrEqualToNone):
673 * platform/blackberry/RenderThemeBlackBerry.cpp:
674 (WebCore::RenderThemeBlackBerry::systemFont):
675 * platform/blackberry/RenderThemeBlackBerry.h:
676 (WebCore::RenderThemeBlackBerry::systemFont):
677 * platform/blackberry/RenderThemeEfl.cpp:
678 (WebCore::RenderThemeEfl::systemFont):
679 * platform/blackberry/RenderThemeEfl.h:
680 (WebCore::RenderThemeEfl::systemFont):
681 * platform/gtk/RenderThemeGtk.cpp:
682 (WebCore::RenderThemeGtk::systemFont):
683 * platform/gtk/RenderThemeGtk.h:
684 * platform/gtk/RenderThemeGtk2.cpp:
685 (WebCore::RenderThemeGtk::systemColor):
686 * platform/gtk/RenderThemeGtk3.cpp:
687 (WebCore::RenderThemeGtk::systemColor):
688 * platform/qt/RenderThemeQt.cpp:
689 (WebCore::RenderThemeQt::systemFont):
690 (WebCore::RenderThemeQt::systemColor):
691 * platform/qt/RenderThemeQt.h:
692 * rendering/RenderTheme.cpp:
693 (WebCore::RenderTheme::systemColor):
694 * rendering/RenderTheme.h:
695 * rendering/RenderThemeMac.h:
696 * rendering/RenderThemeMac.mm:
697 (WebCore::RenderThemeMac::systemFont):
698 (WebCore::RenderThemeMac::systemColor):
699 * rendering/RenderThemeSafari.h:
700 (WebCore::RenderThemeSafari::systemFont):
701 * rendering/RenderThemeSafari.cpp:
702 (WebCore::RenderThemeSafari::systemFont):
703 * rendering/RenderThemeWin.cpp:
704 (WebCore::RenderThemeWin::systemFont):
705 (WebCore::cssValueIdToSysColorIndex):
706 (WebCore::RenderThemeWin::systemColor):
707 * rendering/RenderThemeWin.h:
708 * rendering/RenderThemeWinCE.cpp:
709 (WebCore::RenderThemeWinCE::systemFont):
710 (WebCore::cssValueIdToSysColorIndex):
711 (WebCore::RenderThemeWinCE::systemColor):
712 * rendering/RenderThemeWinCE.h:
714 2013-06-19 Brent Fulgham <bfulgham@apple.com>
716 AX: List Items should support a default action
717 https://bugs.webkit.org/show_bug.cgi?id=117812
719 Reviewed by Chris Fleizach.
721 * accessibility/AccessibilityObject.cpp:
722 (WebCore::AccessibilityObject::actionVerb): Provide a "select" verb
723 for use in ListItemRole objects.
724 * platform/LocalizedStrings.cpp:
725 (WebCore::AXListItemActionVerb): Added.
726 * platform/LocalizedStrings.h:
727 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
728 (WebCore::AXListItemActionVerb):
729 * platform/efl/LocalizedStringsEfl.cpp:
730 (WebCore::AXListItemActionVerb):
731 * platform/gtk/LocalizedStringsGtk.cpp:
732 (WebCore::AXListItemActionVerb):
734 2013-06-20 Radu Stavila <stavila@adobe.com>
736 [CSS Regions] Add new regionOversetChange event
737 https://bugs.webkit.org/show_bug.cgi?id=117508
739 Added regionOversetChange event and tests for it. The overset value of the region has been moved to the ElementRareData
740 object instead of the RenderRegion object. This was needed for the case when a reattach is performed (for instance by changing
741 the display type of the region's containing block) and the RenderRegion object is destroyed. When computing the overset again,
742 there would be no "previous" value to compare it to and decide whether the regionOversetChange event must be dispatched.
744 Reviewed by Antti Koivisto.
746 Tests: fast/regions/webkit-named-flow-event-add-to-flow.html:
747 fast/regions/webkit-named-flow-event-auto-height.html:
748 fast/regions/webkit-named-flow-event-crash.html:
749 fast/regions/webkit-named-flow-event-no-regions.html:
750 fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Added.
751 fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html: Added.
752 fast/regions/webkit-named-flow-event-remove-from-dom.html:
753 fast/regions/webkit-named-flow-event-remove-from-flow.html:
754 fast/regions/webkit-named-flow-event-target.html:
755 fast/regions/webkit-named-flow-event-to-null.html:
756 fast/regions/webkit-named-flow-event.html:
759 * GNUmakefile.list.am:
761 * WebCore.xcodeproj/project.pbxproj:
763 (WebCore::Element::setRegionOversetState):
764 (WebCore::Element::regionOversetState):
765 (WebCore::Element::webkitRegionOverset):
767 * dom/ElementRareData.cpp:
768 * dom/ElementRareData.h:
769 (WebCore::ElementRareData::regionOversetState):
770 (WebCore::ElementRareData::setRegionOversetState):
771 (WebCore::ElementRareData::ElementRareData):
773 * dom/WebKitNamedFlow.cpp:
774 (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
775 (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
776 * dom/WebKitNamedFlow.h:
777 (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
778 (WebCore::ChangeRegionOversetTask::scheduleFor):
779 (WebCore::ChangeRegionOversetTask::unschedule):
780 (WebCore::ChangeRegionOversetTask::reset):
781 (WebCore::ChangeRegionOversetTask::onTimer):
782 * rendering/RegionOversetState.h: Added.
783 * rendering/RenderBlock.cpp:
784 (WebCore::RenderBlock::computeOverflow):
785 * rendering/RenderFlowThread.cpp:
786 (WebCore::RenderFlowThread::RenderFlowThread):
787 (WebCore::RenderFlowThread::layout):
788 (WebCore::RenderFlowThread::computeOversetStateForRegions):
789 * rendering/RenderFlowThread.h:
790 * rendering/RenderNamedFlowThread.cpp:
791 (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
792 (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
793 (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
794 * rendering/RenderNamedFlowThread.h:
795 * rendering/RenderRegion.cpp:
796 (WebCore::RenderRegion::RenderRegion):
797 (WebCore::RenderRegion::regionOversetState):
798 (WebCore::RenderRegion::setRegionOversetState):
799 * rendering/RenderRegion.h:
801 2013-06-20 James Craig <james@cookiecrook.com>
803 AX: aria-required is not exposed on all expected roles
804 https://bugs.webkit.org/show_bug.cgi?id=115123
806 Reviewed by Chris Fleizach.
808 aria-required is now exposed on more roles. Updated existing test file.
810 * accessibility/AccessibilityNodeObject.cpp:
811 (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
812 * accessibility/AccessibilityNodeObject.h:
813 * accessibility/AccessibilityObject.h:
814 (WebCore::AccessibilityObject::supportsRequiredAttribute):
815 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
816 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
818 2013-06-20 Seokju Kwon <seokju.kwon@gmail.com>
820 Web Inspector: Use console.timeStamp instead of console.markTimeline
821 https://bugs.webkit.org/show_bug.cgi?id=117810
823 Reviewed by Joseph Pecoraro.
825 Webkit supports both console.timeStamp and console.markTimeline.
826 And they do the exact same thing.
827 This patch gets rid of console.markTimeline for Chrome/Firebug compatibility.
829 No new functionality, no new tests.
836 2013-06-20 Grzegorz Czajkowski <g.czajkowski@samsung.com>
838 background-color and text-decoration are not preserved when merging paragraphs
839 https://bugs.webkit.org/show_bug.cgi?id=116215
841 Reviewed by Ryosuke Niwa.
843 In mergeInlineAndImplicitStyleOfElement(), style from matched rules are retrieved.
844 If they contain either background-color or text-decoration they will be removed
845 by removeNonEditingProperties() due to copyEditingProperties() implicit
846 'OnlyInheritableEditingProperties' parameter.
847 We have already had similar issue at https://bugs.webkit.org/show_bug.cgi?id=53196
849 Tests: editing/deleting/merge-div-from-span-with-style.html
850 editing/deleting/merge-paragraph-from-span-with-multiple-text-decoration.html
851 editing/deleting/merge-paragraph-from-span-with-style.html
853 * editing/EditingStyle.cpp:
854 (WebCore::copyEditingProperties):
855 (WebCore::editingStyleFromComputedStyle):
856 Add EditingStyle:: due to move EditingPropertiesToInclude to EditingStyle.h.
858 (WebCore::toEditingProperties):
859 Add a helper to easy convert PropertiesToInclude to EditingPropertiesToInclude,
860 needed in mergeInlineAndImplicitStyleOfElement().
862 (WebCore::EditingStyle::removeAllButEditingProperties):
863 Add a parameter to choose which editing properties should be preserved while
864 removing all properties (OnlyInheritableEditingProperties implicite).
866 (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
867 Call removeAllButEditingProperties with parameter.
869 * editing/EditingStyle.h:
870 Move EditingPropertiesType to the header as it's needed by removeAllButEditingProperties().
871 Change EditingPropertiesType to EditingPropertiesToInclude to be consistent with
873 Change removeNonEditingProperties() to removeAllButEditingProperties().
875 2013-06-19 Christophe Dumez <ch.dumez@sisa.samsung.com>
877 The order of the generated supplemental code is not guaranteed
878 https://bugs.webkit.org/show_bug.cgi?id=117820
880 Reviewed by Kentaro Hara.
882 Sort the supplemental idl files before generating the code so that it is
883 generated in a consistent order.
885 No new tests, covered by existing bindings tests.
887 * bindings/scripts/generate-bindings.pl:
889 2013-06-19 Commit Queue <commit-queue@webkit.org>
891 Unreviewed, rolling out r151769.
892 http://trac.webkit.org/changeset/151769
893 https://bugs.webkit.org/show_bug.cgi?id=117821
895 Broke windows build due to missing GL/glext.h header.
896 (Requested by bfulgham on #webkit).
898 * WebCore.vcxproj/WebCore.vcxproj:
899 * WebCore.vcxproj/WebCore.vcxproj.filters:
901 2013-06-19 Alex Christensen <alex.christensen@flexsim.com>
903 Added WebGL files to Windows build without enabling them.
904 https://bugs.webkit.org/show_bug.cgi?id=117809
906 Reviewed by Brent Fulgham.
908 * WebCore.vcxproj/WebCore.vcxproj: Added WebGL source files.
909 * WebCore.vcxproj/WebCore.vcxproj.filters: Added platform\graphics\opengl and platform\graphics\gpu filters.
911 2013-06-19 Alex Christensen <achristensen@apple.com>
913 Windows build should include WebGL generated files if WebGL is enabled.
914 https://bugs.webkit.org/show_bug.cgi?id=117802
916 Reviewed by Brent Fulgham.
918 Added WebGL generated files to Windows build if WebGL is enabled.
919 * DerivedSources.cpp:
920 * WebCore.vcxproj/WebCore.vcxproj:
921 * WebCore.vcxproj/WebCore.vcxproj.filters:
923 2013-06-19 Alexey Proskuryakov <ap@apple.com>
925 [Mac] Common crashes when playing media
926 https://bugs.webkit.org/show_bug.cgi?id=117813
927 <rdar://problem/13837412>
929 Reviewed by Eric Carlson.
931 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
932 (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
933 This method may be called from a secondary thread, but it does things that are
936 2013-06-19 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
938 Incomplete repaint of input elements in writing-mode overflow
939 https://bugs.webkit.org/show_bug.cgi?id=110246
941 Reviewed by Simon Fraser.
943 We calculate repaint rect using unflipped rect.
944 However, RenderBox::applyCachedClipAndScrollOffsetForRepaint() which is called from repaint rect calculation
945 wants that its argument rect is flipped.
947 - paintRect.move(-scrolledContentOffset()); cannot scroll if the rect is unflipped.
948 - It cannot clip using intersect.
949 Passing unflipped rect to applyCachedClipAndScrollOffsetForRepaint() cause invalid clipping.
950 Therefore, this patch flipped the rect at the first part of the function and unflipped it at the last part of the function.
952 Scroll bar rect is absolute rect, so it is flipped rect.
953 RenderLayer::invalidateScrollbarRect() pass the rect to repaintRectangle() which expects an argument rect is unflipped.
954 This cause part of overlapping scroll bar doesn't fade out.
955 Therefore, this patch flipped the rect and pass it to repaintRectangle().
957 Tests: fast/repaint/horizontal-bt-overflow-child.html
958 fast/repaint/horizontal-bt-overflow-parent.html
959 fast/repaint/horizontal-bt-overflow-same.html
960 fast/repaint/vertical-overflow-child.html
961 fast/repaint/vertical-overflow-parent.html
962 fast/repaint/vertical-overflow-same.html
964 * rendering/RenderBox.cpp:
965 (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
966 * rendering/RenderLayer.cpp:
967 (WebCore::RenderLayer::invalidateScrollbarRect):
969 2013-06-19 Benjamin Poulain <bpoulain@apple.com>
971 Use the PlatformEvent timestamp when creating a DOM Event
972 https://bugs.webkit.org/show_bug.cgi?id=117179
974 Reviewed by Darin Adler.
976 Previously, the platform event's timestamp was ignored by WebCore and each
977 new event would get a new timestamp by calling WTF::currentTime().
979 The problem is there can be a significant delay between the input event and
980 it being dispatched to JavaScript. Computing the velocity/acceleration of the cursor
981 is impossible since the delay vary from event to events.
982 On WebKit2, the delay per event typically vary between 0 and 30ms.
984 This patch changes the Event creation code to use the timer passed by the underlying platform event.
988 (WebCore::Event::Event):
990 * dom/GestureEvent.cpp:
991 (WebCore::GestureEvent::create):
992 (WebCore::GestureEvent::GestureEvent):
993 * dom/GestureEvent.h:
994 * dom/KeyboardEvent.cpp:
995 (WebCore::KeyboardEvent::KeyboardEvent):
996 * dom/KeyboardEvent.h:
997 * dom/MouseEvent.cpp:
998 (WebCore::MouseEvent::create):
999 (WebCore::MouseEvent::MouseEvent):
1000 (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
1002 * dom/MouseRelatedEvent.cpp:
1003 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1004 * dom/MouseRelatedEvent.h:
1005 * dom/TouchEvent.cpp:
1006 (WebCore::TouchEvent::TouchEvent):
1008 (WebCore::UIEvent::UIEvent):
1010 * dom/UIEventWithKeyState.h:
1011 (WebCore::UIEventWithKeyState::UIEventWithKeyState):
1012 * dom/WheelEvent.cpp:
1013 (WebCore::WheelEvent::WheelEvent):
1014 (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
1016 (WebCore::WheelEvent::create):
1017 * page/EventHandler.cpp:
1018 (WebCore::EventHandler::dispatchDragEvent):
1019 * platform/mac/PlatformEventFactoryMac.mm:
1020 (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
1021 (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
1022 (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
1023 (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
1025 2013-06-19 Alexis Menard <alexis@webkit.org>
1027 Make sure to use CSSValueID and CSSPropertyID rather than integers
1028 https://bugs.webkit.org/show_bug.cgi?id=117481
1030 Reviewed by Benjamin Poulain.
1032 This will ensure that types are enforced when passing arguments in various
1033 css functions. Having a compile time check make sure that no mistakes
1034 will be done over the type.
1036 The parser was also patched to directly use CSSValueID over integers.
1037 This patch also fixes various call sites abusing the usage of integers.
1038 This is part 1 of 2.
1040 No new tests : existing ones should cover.
1042 * WebCore.xcodeproj/project.pbxproj: copy CSSValueKeywords.h as it could be used in WebKit/ for example.
1043 * css/CSSComputedStyleDeclaration.cpp:
1044 (WebCore::valueForRepeatRule):
1045 (WebCore::cssIdentifierForFontSizeKeyword):
1046 (WebCore::identifierForFamily):
1047 (WebCore::valueForFamily):
1048 * css/CSSGrammar.y.in:
1049 * css/CSSParser.cpp:
1050 (WebCore::parseColorValue):
1051 (WebCore::parseKeywordValue):
1052 (WebCore::CSSParser::parseValidPrimitive):
1053 (WebCore::CSSParser::parseValue):
1054 (WebCore::CSSParser::parseContent):
1055 (WebCore::CSSParser::parseBackgroundColor):
1056 (WebCore::CSSParser::parseFillPositionComponent):
1057 (WebCore::CSSParser::parse3ValuesFillPosition):
1058 (WebCore::CSSParser::parseFillRepeat):
1059 (WebCore::CSSParser::parseAnimationProperty):
1060 (WebCore::CSSParser::parseCounterContent):
1061 (WebCore::CSSParser::parseLineHeight):
1062 (WebCore::CSSParser::parseFontSize):
1063 (WebCore::CSSParser::createFontWeightValueKeyword):
1064 (WebCore::CSSParser::parseFontWeight):
1065 (WebCore::parseDeprecatedGradientColorStop):
1066 (WebCore::parseGradientColorOrKeyword):
1067 (WebCore::CSSParser::parseDeprecatedRadialGradient):
1068 (WebCore::CSSParser::rewriteSpecifiers):
1070 * css/CSSParserValues.h:
1071 * css/CSSPrimitiveValue.h:
1072 * css/CSSValuePool.cpp:
1073 (WebCore::CSSValuePool::createIdentifierValue):
1074 * css/CSSValuePool.h:
1075 * css/StylePropertySet.cpp:
1076 (WebCore::MutableStylePropertySet::setProperty):
1077 * css/StylePropertySet.h:
1078 * dom/StyledElement.cpp:
1079 (WebCore::StyledElement::setInlineStyleProperty):
1080 (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
1081 * dom/StyledElement.h:
1082 * editing/EditingStyle.cpp:
1083 (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
1084 (WebCore::EditingStyle::prepareToApplyAt):
1085 * editing/EditorCommand.cpp:
1086 (WebCore::executeApplyStyle):
1087 (WebCore::executeFontSize):
1088 * html/HTMLElement.cpp:
1089 (WebCore::unicodeBidiAttributeForDirAuto):
1090 (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1091 * html/HTMLFontElement.cpp:
1092 (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
1093 (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
1094 * html/HTMLFontElement.h:
1095 * html/HTMLTableElement.cpp:
1096 (WebCore::leakBorderStyle):
1097 * html/track/TextTrackCue.cpp:
1098 (WebCore::TextTrackCue::getCSSWritingDirection):
1099 (WebCore::TextTrackCue::getCSSWritingMode):
1100 * html/track/TextTrackCue.h:
1102 2013-06-19 Bem Jones-Bey <bjonesbe@adobe.com>
1104 Fix a few missed renames from Exclusions -> Shapes
1105 https://bugs.webkit.org/show_bug.cgi?id=117803
1107 Reviewed by David Hyatt.
1109 In the great CSS Exclusions to CSS Shapes rename, a few instances were
1110 missed. This fixes those instances.
1112 No new tests, no behavior change, just renames.
1114 * rendering/RenderBlock.cpp:
1115 (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
1116 (WebCore::RenderBlock::updateRegionsAndShapesAfterChildLayout):
1117 (WebCore::RenderBlock::layoutBlock):
1118 (WebCore::RenderBlock::logicalLeftOffsetForLine):
1119 (WebCore::RenderBlock::logicalRightOffsetForLine):
1120 * rendering/RenderBlock.h:
1121 * rendering/RenderDeprecatedFlexibleBox.cpp:
1122 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1123 * rendering/RenderFlexibleBox.cpp:
1124 (WebCore::RenderFlexibleBox::layoutBlock):
1125 * rendering/RenderGrid.cpp:
1126 (WebCore::RenderGrid::layoutBlock):
1128 2013-06-19 Oliver Hunt <oliver@apple.com>
1130 Incorrect use of jsCast in a finalizer
1131 https://bugs.webkit.org/show_bug.cgi?id=117807
1133 Reviewed by Geoffrey Garen.
1135 We can't use jsCast in a finalizer as it checks an object's structure,
1136 and the structure may already have been swept by that point. Use a
1137 static_cast instead.
1139 * bridge/runtime_array.cpp:
1140 (JSC::RuntimeArray::destroy):
1142 2013-06-19 Brent Fulgham <bfulgham@apple.com>
1144 [Windows] AX: Extend notification handling
1145 https://bugs.webkit.org/show_bug.cgi?id=117761.
1147 Reviewed by Anders Carlsson.
1149 accessibility/press-works-on-control-types.html
1151 * accessibility/win/AXObjectCacheWin.cpp:
1152 (WebCore::AXObjectCache::postPlatformNotification): Add handlers for more event notifications.
1153 * accessibility/win/AccessibilityObjectWrapperWin.cpp:
1154 (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Protect against null
1155 pointer dereference found during testing.
1157 (WebCore::Document::implicitClose): Execute notification handler for Windows as well as Mac.
1158 * page/FrameView.cpp:
1159 (WebCore::FrameView::layout): Ditto.
1161 2013-06-19 peavo@outlook.com <peavo@outlook.com>
1163 [WinCairo] Webfont rendering is broken.
1164 https://bugs.webkit.org/show_bug.cgi?id=117695
1166 Reviewed by Brent Fulgham.
1168 The native font handle created from webfont data is invalid.
1169 In much the same way it's done in WinApple, we first need to install the webfont,
1170 create a native font handle from the new font name,
1171 and pass the font handle to the FontPlatformData object, where it's needed to get the glyphs.
1173 * platform/graphics/FontPlatformData.h: Added HFONT parameter to constructor.
1174 * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1175 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Release installed webfont.
1176 (WebCore::FontCustomPlatformData::fontPlatformData): Create valid HFONT handle for webfont.
1177 (WebCore::createUniqueFontName): Added method to create webfont name.
1178 (WebCore::createFontCustomPlatformData): Install font from webfont data.
1179 * platform/graphics/win/FontCustomPlatformDataCairo.h: Removed.
1180 * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1181 (WebCore::FontPlatformData::FontPlatformData): Added HFONT parameter to constructor.
1183 2013-06-19 Christophe Dumez <ch.dumez@sisa.samsung.com>
1185 Implement WebIDL implements
1186 https://bugs.webkit.org/show_bug.cgi?id=117785
1188 Reviewed by Kentaro Hara.
1190 Add support for Web IDL 'implements' statements to the bindings generator:
1191 http://www.w3.org/TR/WebIDL/#dfn-implements-statement
1193 Introduce ChildNode IDL interface and have Element, DocumentType and
1194 CharacterData implement it, to match the specification:
1195 http://dom.spec.whatwg.org/#childnode
1197 There is no change in behavior, merely refactoring to match the
1198 specification by leveraging support for Web IDL implements statements.
1200 No new tests, no behavior change.
1203 * DerivedSources.make:
1204 * DerivedSources.pri:
1205 * GNUmakefile.list.am:
1206 * bindings/scripts/generate-bindings.pl:
1207 * bindings/scripts/preprocess-idls.pl:
1208 (GeneratePartialInterface):
1209 (getImplementersFromIDL):
1210 * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Added.
1211 * bindings/scripts/test/CPP/WebDOMTestImplements.h: Added.
1212 * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1213 (WebDOMTestInterface::implementsStr1):
1214 (WebDOMTestInterface::implementsStr2):
1215 (WebDOMTestInterface::setImplementsStr2):
1216 (WebDOMTestInterface::implementsNode):
1217 (WebDOMTestInterface::setImplementsNode):
1218 (WebDOMTestInterface::implementsMethod1):
1219 (WebDOMTestInterface::implementsMethod4):
1220 * bindings/scripts/test/CPP/WebDOMTestInterface.h:
1221 * bindings/scripts/test/GObject/WebKitDOMTestImplements.cpp: Added.
1222 * bindings/scripts/test/GObject/WebKitDOMTestImplements.h: Added.
1223 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1224 (webkit_dom_test_interface_set_property):
1225 (webkit_dom_test_interface_get_property):
1226 (webkit_dom_test_interface_class_init):
1227 (webkit_dom_test_interface_implements_method1):
1228 (webkit_dom_test_interface_implements_method2):
1229 (webkit_dom_test_interface_implements_method4):
1230 (webkit_dom_test_interface_get_implements_str1):
1231 (webkit_dom_test_interface_get_implements_str2):
1232 (webkit_dom_test_interface_set_implements_str2):
1233 (webkit_dom_test_interface_get_implements_node):
1234 (webkit_dom_test_interface_set_implements_node):
1235 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1236 * bindings/scripts/test/JS/JSTestImplements.cpp: Added.
1237 * bindings/scripts/test/JS/JSTestImplements.h: Added.
1238 * bindings/scripts/test/JS/JSTestInterface.cpp:
1239 (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
1240 (WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
1241 (WebCore::jsTestInterfaceImplementsStr1):
1242 (WebCore::jsTestInterfaceImplementsStr2):
1243 (WebCore::jsTestInterfaceImplementsStr3):
1244 (WebCore::jsTestInterfaceImplementsNode):
1245 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
1246 (WebCore::setJSTestInterfaceImplementsStr2):
1247 (WebCore::setJSTestInterfaceImplementsStr3):
1248 (WebCore::setJSTestInterfaceImplementsNode):
1249 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
1250 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1251 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
1252 (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
1253 (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
1254 (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
1255 * bindings/scripts/test/JS/JSTestInterface.h:
1256 * bindings/scripts/test/ObjC/DOMTestImplements.cpp: Added.
1257 * bindings/scripts/test/ObjC/DOMTestImplements.h: Added.
1258 * bindings/scripts/test/ObjC/DOMTestInterface.h:
1259 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1260 (-[DOMTestInterface implementsStr1]):
1261 (-[DOMTestInterface implementsStr2]):
1262 (-[DOMTestInterface setImplementsStr2:]):
1263 (-[DOMTestInterface implementsStr3]):
1264 (-[DOMTestInterface setImplementsStr3:]):
1265 (-[DOMTestInterface implementsNode]):
1266 (-[DOMTestInterface setImplementsNode:]):
1267 (-[DOMTestInterface implementsMethod1]):
1268 (-[DOMTestInterface implementsMethod2:objArg:]):
1269 (-[DOMTestInterface implementsMethod3]):
1270 (-[DOMTestInterface implementsMethod4]):
1271 * bindings/scripts/test/TestImplements.idl: Added.
1272 * dom/CharacterData.idl:
1273 * dom/ChildNode.idl: Copied from Source/WebCore/dom/DocumentType.idl.
1274 * dom/DocumentType.idl:
1277 2013-06-19 Robert Hogan <robert@webkit.org>
1279 Incorrect computation of shrink-to-fit width for block with white-space:nowrap and floating children
1280 https://bugs.webkit.org/show_bug.cgi?id=114879
1282 Reviewed by David Hyatt.
1283 Per http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins when width is auto then floating non-replaced,
1284 absolute non-replaced, and inline-block non-replaced elements should use shrink-to-fit width. This trumps any no-wrap property
1285 on the element so if we are shrinking to fit ensure our minimum width respects all possible line breaks.
1287 Test: fast/block/shrink-to-fit-width-container-with-floating-children.html
1289 * rendering/RenderBlock.cpp:
1290 (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
1292 2013-06-19 Christophe Dumez <ch.dumez@sisa.samsung.com>
1294 Do not require JS*Custom.h header if [CustomPutFunction] / [CustomNamedSetter] is used
1295 https://bugs.webkit.org/show_bug.cgi?id=117795
1297 Reviewed by Kentaro Hara.
1299 Fix the JS bindings generator so that it stops including JS*Custom.h header whenever
1300 [CustomPutFunction] or [CustomNamedSetter] IDL extended attributes are used. We don't
1301 really need this custom header and this forces the developer to create dummy custom
1302 headers so that it builds.
1304 If the developer really needs such custom header to be included, he can still use
1305 [JSCustomHeader] IDL extended attribute to do so.
1307 This patch also remove the dummy custom headers that were created but are no longer
1310 No new tests, no behavior change. Already covered by the following bindings test:
1313 * GNUmakefile.list.am:
1315 * WebCore.vcxproj/WebCore.vcxproj:
1316 * WebCore.vcxproj/WebCore.vcxproj.filters:
1317 * WebCore.xcodeproj/project.pbxproj:
1318 * bindings/js/JSDOMStringMapCustom.h: Removed.
1319 * bindings/js/JSHTMLAppletElementCustom.cpp:
1320 * bindings/js/JSHTMLAppletElementCustom.h: Removed.
1321 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1322 * bindings/js/JSHTMLEmbedElementCustom.h: Removed.
1323 * bindings/js/JSHTMLObjectElementCustom.cpp:
1324 * bindings/js/JSHTMLObjectElementCustom.h: Removed.
1325 * bindings/js/JSHistoryCustom.cpp:
1326 * bindings/js/JSHistoryCustom.h: Removed.
1327 * bindings/js/JSLocationCustom.cpp:
1328 * bindings/js/JSLocationCustom.h: Removed.
1329 * bindings/js/JSStorageCustom.cpp:
1330 * bindings/js/JSStorageCustom.h: Removed.
1331 * bindings/scripts/CodeGeneratorJS.pm:
1334 2013-06-19 Carlos Garcia Campos <cgarcia@igalia.com>
1336 [BlackBerry] Several tests crash due to an assert when creating an ImageBuffer
1337 https://bugs.webkit.org/show_bug.cgi?id=117793
1339 Reviewed by Rob Buis.
1343 Fixes a crash in several layout tests due to an assert when
1344 creating an ImageBuffer with an empty size.
1346 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1347 (WebCore::ImageBuffer::ImageBuffer): Return early if the given
1350 2013-06-19 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1352 [GStreamer] [texmap] the bytesPerLine is wrong when updating the texture
1353 https://bugs.webkit.org/show_bug.cgi?id=117551
1355 Reviewed by Philippe Normand.
1357 The bytesPerLine (or stride) is wrong when updating the texture
1358 content. This is because the naturalSize() is not updated to the
1359 current buffer. This patch extracts the current value of the size and
1364 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1365 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1366 (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
1368 2013-06-19 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
1370 Adjust internal size on gstreamer source element when receiving data if necessary
1371 https://bugs.webkit.org/show_bug.cgi?id=116534
1373 Reviewed by Philippe Normand.
1375 If the size received in didReceiveResponse is smaller than the actual size of the received data
1376 update the internal size and the appsrc size to the proper value.
1378 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1379 (StreamingClient::didReceiveData):
1381 2013-06-19 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1383 [GStreamer] Potential race condition when getting the video sink caps.
1384 https://bugs.webkit.org/show_bug.cgi?id=117736
1386 Reviewed by Philippe Normand.
1388 There is a potential race condition with the pad setting caps, as the
1389 buffer and the caps won't match when renegotiation happens, and might
1392 This patch keeps an instance of the current caps in the video sink,
1393 and it is accessible through a getter method. Hence the player can ask
1394 for the current caps without running into a race condition.
1396 No new tests. No change in behaviour.
1398 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1399 (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
1400 (WebCore::MediaPlayerPrivateGStreamerBase::paint):
1401 (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
1402 (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
1403 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1404 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1405 (webkitVideoSinkGetProperty):
1406 (webkitVideoSinkStop):
1407 (webkitVideoSinkSetCaps):
1408 (webkit_video_sink_class_init):
1410 2013-06-19 Kihong Kwon <kihong.kwon@samsung.com>
1412 Vibration can be canceled even if page visibility status is hidden
1413 https://bugs.webkit.org/show_bug.cgi?id=117333
1415 Reviewed by Gyuyoung Kim.
1417 vibration can be canceled in the onvisibilitychange listener even if page visibility is changed to hidden status.
1418 Therefore cancelVibration needs to work when page visibility is hidden.
1420 Tests: vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html
1422 * Modules/vibration/NavigatorVibration.cpp:
1423 (WebCore::NavigatorVibration::vibrate):
1424 * Modules/vibration/Vibration.h:
1425 (WebCore::Vibration::isVibrating):
1426 * testing/Internals.cpp:
1427 (WebCore::Internals::isVibrating):
1428 * testing/Internals.h:
1429 * testing/Internals.idl:
1431 2013-06-18 Ryosuke Niwa <rniwa@webkit.org>
1433 Input type range slider is not updated when min or max are changed
1434 https://bugs.webkit.org/show_bug.cgi?id=117778
1436 Reviewed by Kent Tamura.
1438 Merge https://chromium.googlesource.com/chromium/blink/+/089c7a0ba2d85b9b59632c2603fbc6472b310be1.
1440 Test: fast/forms/range/range-change-min-max.html
1442 * html/RangeInputType.cpp:
1443 (WebCore::RangeInputType::minOrMaxAttributeChanged):
1445 2013-06-18 Ryosuke Niwa <rniwa@webkit.org>
1447 Remove two superfluous overrides of supportsFocus
1448 https://bugs.webkit.org/show_bug.cgi?id=117770
1450 Reviewed by Benjamin Poulain.
1452 Merge https://chromium.googlesource.com/chromium/blink/+/4228964a63e3a889a40efce0d01866629fdcd9b9.
1454 * html/HTMLOptGroupElement.cpp:
1455 * html/HTMLOptGroupElement.h:
1456 * html/HTMLOptionElement.cpp:
1457 * html/HTMLOptionElement.h:
1459 2013-06-18 Darin Adler <darin@apple.com>
1461 Improve style of null checks in FrameView::setFrameRect
1462 https://bugs.webkit.org/show_bug.cgi?id=117681
1464 Reviewed by Sam Weinig.
1466 * page/FrameView.cpp:
1467 (WebCore::FrameView::setFrameRect): Used nested if statements and local variables
1468 to tighten this code up a little.
1470 2013-06-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
1472 Move IDL extended attributes to their correct location
1473 https://bugs.webkit.org/show_bug.cgi?id=117732
1475 Reviewed by Kentaro Hara.
1477 Move IDL extended attributes to their correct location according to the
1478 latest Web IDL specification. We used to be inconsistent in the positioning
1479 of the extended attributes. This simplifies a lot the code of the IDL parser
1480 and makes our IDL files more standard.
1482 Based on Blink r148345 by Kentaro Hara <haraken@chromium.org>.
1484 No new tests, no behavior change.
1486 * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
1487 * Modules/notifications/Notification.idl:
1488 * Modules/speech/SpeechSynthesisVoice.idl:
1489 * bindings/scripts/IDLParser.pm:
1491 (parseInterfaceMembers):
1492 (parseInterfaceMember):
1493 (parseDictionaryMembers):
1494 (parseAttributeOrOperationOrIterator):
1496 * css/CSSFontFaceLoadEvent.idl:
1500 * html/HTMLBodyElement.idl:
1501 * html/HTMLEmbedElement.idl:
1502 * html/HTMLFrameSetElement.idl:
1503 * html/HTMLMediaElement.idl:
1504 * html/HTMLSelectElement.idl:
1505 * html/HTMLSourceElement.idl:
1506 * page/DOMWindow.idl:
1507 * svg/SVGElementInstance.idl:
1508 * svg/SVGScriptElement.idl:
1509 * testing/TypeConversions.idl:
1511 2013-06-18 Jessie Berlin <jberlin@apple.com>
1513 Let the script to update the Localizable.strings file do the reordering it wants to do.
1515 Rubber-stamped by Anders Carlsson.
1517 * English.lproj/Localizable.strings:
1519 2013-06-18 Brent Fulgham <bfulgham@apple.com>
1521 [Windows] Unreviewed gardening -- show missing AccessibilityNodeObject source
1522 files in Visual Studio.
1524 * WebCore.vcxproj/WebCore.vcxproj: Add missing files.
1525 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1527 2013-06-18 Commit Queue <commit-queue@webkit.org>
1529 Unreviewed, rolling out r151513.
1530 http://trac.webkit.org/changeset/151513
1531 https://bugs.webkit.org/show_bug.cgi?id=117763
1533 It causes assertions in debug (Requested by benjaminp on
1536 * rendering/RenderLayerBacking.cpp:
1537 (WebCore::RenderLayerBacking::startAnimation):
1538 (WebCore::RenderLayerBacking::startTransition):
1540 2013-06-18 Roger Fong <roger_fong@apple.com>
1542 Replace tools32 folder with tools and update WebKit Windows solution accordingly.
1543 <rdar://problem/14118143>.
1545 Rubberstamped by Brent Fulgham.
1547 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
1548 * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
1549 * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
1550 * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
1551 * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
1552 * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
1553 * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
1554 * WebCore.vcxproj/WebCore.vcxproj:
1555 * WebCore.vcxproj/WebCoreDebug.props:
1556 * WebCore.vcxproj/WebCoreDebugWinCairo.props:
1557 * WebCore.vcxproj/WebCoreGenerated.vcxproj:
1558 * WebCore.vcxproj/WebCoreGeneratedDebug.props:
1559 * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
1560 * WebCore.vcxproj/WebCoreGeneratedProduction.props:
1561 * WebCore.vcxproj/WebCoreGeneratedRelease.props:
1562 * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
1563 * WebCore.vcxproj/WebCoreProduction.props:
1564 * WebCore.vcxproj/WebCoreRelease.props:
1565 * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
1566 * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1567 * WebCore.vcxproj/build-generated-files.sh:
1569 2013-06-18 Zoltan Horvath <zoltan@webkit.org>
1571 [CSS Shapes] Remove lineOverflowsFromShapeInside boolean from RenderBlock::layoutRunsAndFloatsInRange function
1572 https://bugs.webkit.org/show_bug.cgi?id=117757
1574 Reviewed by David Hyatt.
1576 We don't need keep lineOverflowsFromShapeInside boolean in RenderBlock::layoutRunsAndFloatsInRange and in its
1577 helpers because it's easy to decide whether we are in an shape content overflow state or not, so I got rid of
1578 lineOverflowsFromShapeInside's occurences and updated the affected functions.
1580 Covered by existing overflow tests in fast/exclusions/shape-inside and fast/regions/shape-inside.
1582 * rendering/RenderBlock.h: Update helper's definition.
1583 * rendering/RenderBlockLineLayout.cpp:
1584 (WebCore::pushShapeContentOverflowBelowTheContentBox): Add condition when overflow is already positioned.
1585 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Remove lineOverflowsFromShapeInside.
1586 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Remove lineOverflowsFromShapeInside.
1587 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Remove lineOverflowsFromShapeInside.
1589 2013-06-18 Zalan Bujtas <zalan@apple.com>
1591 widthMediaFeatureEval ends up with null FrameView during iframe unload.
1592 https://bugs.webkit.org/show_bug.cgi?id=117754
1594 Reviewed by Geoffrey Garen.
1596 Ensure that MediaQueryEvaluator checks against NULL FrameView.
1598 While frames are being unloaded, the Frame object does not necessarily have valid
1599 FrameView anymore. Layout on the main frame can end up querying media values on such child
1600 frames, while detaching.
1602 Test: fast/frames/crash-when-child-iframe-forces-layout-during-unload-and-sibling-frame-has-mediaquery.html
1604 * css/MediaQueryEvaluator.cpp:
1605 (WebCore::orientationMediaFeatureEval):
1606 (WebCore::aspect_ratioMediaFeatureEval):
1607 (WebCore::evalResolution):
1608 (WebCore::heightMediaFeatureEval):
1609 (WebCore::widthMediaFeatureEval):
1610 (WebCore::MediaQueryEvaluator::eval):
1612 2013-06-18 Ruth Fong <ruth_fong@apple.com>
1614 Expose a getMediaType method in WebKit
1615 https://bugs.webkit.org/show_bug.cgi?id=117667
1617 Reviewed by Brady Eidson.
1619 * WebCore.exp.in: Updated to add a symbol for
1620 HitTestResult::mediaIsVideo method
1621 and alphabetize the list of exposed methods.
1623 2013-06-18 Ryosuke Niwa <rniwa@webkit.org>
1625 Remove unused bool argument from ReplacementFragment's constructor
1626 https://bugs.webkit.org/show_bug.cgi?id=117752
1628 Reviewed by Antti Koivisto.
1630 Merge https://chromium.googlesource.com/chromium/blink/+/265586d9f154a9dff657511d09926429b8e1b53d.
1632 * editing/ReplaceSelectionCommand.cpp:
1633 (WebCore::ReplacementFragment::ReplacementFragment):
1634 (WebCore::ReplaceSelectionCommand::doApply):
1636 2013-06-18 Eric Carlson <eric.carlson@apple.com>
1638 Not all subtitle tracks are SDH
1639 https://bugs.webkit.org/show_bug.cgi?id=117738
1641 Reviewed by Dean Jackson.
1643 No new tests, existing tests updated.
1645 * html/track/InbandTextTrack.cpp:
1646 (WebCore::InbandTextTrack::isSDH): New.
1648 * html/track/InbandTextTrack.h: Add isSDH override.
1649 * html/track/TextTrack.h:
1651 * page/CaptionUserPreferencesMac.mm:
1652 (WebCore::trackDisplayName): Only add "SDH" label if a track claims to be SDH.
1654 * platform/graphics/InbandTextTrackPrivate.h:
1655 (WebCore::InbandTextTrackPrivate::isSDH): New.
1657 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
1658 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1659 (WebCore::InbandTextTrackPrivateAVFObjC::isSDH): Return true if track has both "transcribes
1660 spoken dialog for accessibility" and "describes music and sound for accessibility"
1663 2013-06-18 Ryosuke Niwa <rniwa@webkit.org>
1665 Simplify FormKeyGenerator::willDeleteForm
1666 https://bugs.webkit.org/show_bug.cgi?id=117751
1668 Reviewed by Antti Koivisto.
1670 Merge https://chromium.googlesource.com/chromium/blink/+/c6399efb9da863eb1d1fc98b17ef925998b985ac
1672 * html/FormController.cpp:
1673 (WebCore::FormKeyGenerator::willDeleteForm):
1675 2013-06-18 Ryosuke Niwa <rniwa@webkit.org>
1677 REGRESSION(r147602): Search text field doesn't render selection when it has some :focus rules
1678 https://bugs.webkit.org/show_bug.cgi?id=117747
1680 Reviewed by Kent Tamura.
1682 Merge https://chromium.googlesource.com/chromium/blink/+/7ff656c8239ce3b125246abcc8b149a603fcff28
1684 r147612 added setNeedsLayout(true, MarkOnlyThis) for
1685 TextControlInnerTextElement renderer. It's ok for input[type=text]
1686 because RenderTextControlSingleLine also has needsLayout flag, and it
1687 has only the inner text renderer as a child.
1689 As for input[type=search], it doesn't work. Renderer structure for
1690 input[type=search] is:
1692 RenderTextControlSingleLine
1693 └Renderer for TextControlInnerContainer
1694 └Renderer for TextControlInnerElement
1695 └Renderer for TextControlInnerTextElement
1697 After r147612, there is a case that only RenderTextControlSingleLine
1698 and TextControlInnerTextElement renderer have needsLayout flag, and
1699 others don't. It won't trigger layout for
1700 TextControlInnerTextElement renderer.
1702 We should set needsLayout flags of TextControlInnerContainer renderer
1703 and TextControlInnerElement renderer by MarkContainingBlockChain.
1705 Manual Tests: search-select-all-with-focus-style.html
1706 (I tried but couldn't make a test that works in DRT)
1708 * rendering/RenderTextControlSingleLine.cpp:
1709 (WebCore::RenderTextControlSingleLine::styleDidChange):
1711 2013-06-18 Dean Jackson <dino@apple.com>
1713 Attempted build fix for non-Mac.
1715 * platform/graphics/SimpleFontData.cpp:
1716 (WebCore::SimpleFontData::nonSyntheticItalicFontData):
1718 2013-06-18 Dean Jackson <dino@apple.com>
1720 Synthesized vertical italics on rotated glyphs are transformed incorrectly
1721 https://bugs.webkit.org/show_bug.cgi?id=117726
1723 Reviewed by Enrica Casucci.
1725 If a font does not have italic glyphs, and is in a vertical flow, then
1726 the synthesis of italics was skewing in the wrong direction. While here,
1727 ensure that no CJK text will get italics in vertical layout.
1729 This is a topic under discussion in the CSS Working Group. The resolution
1730 at the June 2013 face-to-face was that:
1731 - italics in Japanese (and Chinese) text are rare in vertical layout
1732 - most people wanted Latin text to italicize in the direction of the line flow
1734 The final behaviour was left undefined, but we consider the change here
1735 to be sufficient for now. In all cases, the best solution is to avoid
1736 synthesized italics by specifying a font that includes such forms.
1738 Tests: fast/text/international/synthesized-italic-vertical-latin.html
1739 fast/text/international/synthesized-italic-vertical.html
1741 * platform/graphics/FontGlyphs.cpp:
1742 (WebCore::glyphDataAndPageForCJKCharacterWithoutSyntheticItalic): New function
1743 that makes a new glyph data pair that is marked as NOT using a synthesized italic.
1744 (WebCore::FontGlyphs::glyphDataAndPageForCharacter): If this is a CJK character and
1745 has a synthesized oblique, then run it through the function above to make a new glyph data pair.
1746 * platform/graphics/SimpleFontData.cpp:
1747 (WebCore::SimpleFontData::nonSyntheticItalicFontData): Creates/returns a new SimpleFontData that will
1748 not synthesize italics.
1749 * platform/graphics/SimpleFontData.h: New method nonSyntheticItalicFontData.
1750 * platform/graphics/mac/FontMac.mm:
1751 (WebCore::Font::drawGlyphs): This is the actual bug fix. If you are in a vertical flow, the
1752 skew direction should be downwards, not leftwards.
1754 2013-06-18 Commit Queue <commit-queue@webkit.org>
1756 Unreviewed, rolling out r151549.
1757 http://trac.webkit.org/changeset/151549
1758 https://bugs.webkit.org/show_bug.cgi?id=117741
1760 broke selection in the web inspector source after scrolling
1761 (Requested by smfr on #webkit).
1763 * rendering/RenderBox.cpp:
1764 (WebCore::RenderBox::computeRectForRepaint):
1765 * rendering/RenderLayerModelObject.cpp:
1766 * rendering/RenderLayerModelObject.h:
1768 2013-06-18 Santosh Mahto <santosh.ma@samsung.com>
1770 <video> element delays document load event for ~ 3 seconds
1771 https://bugs.webkit.org/show_bug.cgi?id=90272
1773 Reviewed by Eric Carlson.
1775 Test: media/media-preload-no-delay-loadevent.html
1777 * html/HTMLMediaElement.cpp:
1778 (WebCore::HTMLMediaElement::prepareForLoad):
1779 No need to delay document load event here when preload="none"
1781 2013-06-18 Diego Pino Garcia <dpino@igalia.com>
1783 [GTK] Remove comment about possibility of handling ObjCPolymorphic (it's used by ObjC bindings only)
1784 https://bugs.webkit.org/show_bug.cgi?id=117546
1786 Reviewed by Xan Lopez.
1788 According to the WebKit IDL spec the modifier ObjCPolymorphic only
1789 applies to the Objective-C bindings generator
1791 * bindings/scripts/CodeGeneratorGObject.pm:
1792 (IsPolymorphic): Remove comment. Search parameter 'type' in array, instead of
1793 concatening a series of 'or' conditionals.
1795 2013-06-18 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1798 https://bugs.webkit.org/show_bug.cgi?id=116042
1800 Reviewed by Philippe Normand.
1802 Removed a spurious semicolon in the video sink caps definition.
1804 No new tests, no behavior change.
1806 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1808 2013-06-18 Praveen R Jadhav <praveen.j@samsung.com>
1810 [WebSpeech] Speech Recognition requires convertValue support in JSDictionary
1811 https://bugs.webkit.org/show_bug.cgi?id=117731
1813 Reviewed by Christophe Dumez.
1815 Build fails after enabling ENABLE_SCRIPTED_SPEECH feature. This patch
1818 No new tests. No change in behaviour.
1820 * bindings/js/JSDictionary.cpp:
1821 (WebCore::JSDictionary::convertValue):
1822 * bindings/js/JSDictionary.h:
1824 2013-06-18 Mary Wu <mary.wu@torchmobile.com.cn>
1826 [BlackBerry] only notify download client when download error
1827 https://bugs.webkit.org/show_bug.cgi?id=117687
1829 Reviewed by Rob Buis.
1831 When met network error in downloading, we notify the error to download
1832 client through download stream, we shouldn't notify page client the error.
1835 * platform/network/blackberry/NetworkJob.cpp:
1836 (WebCore::NetworkJob::shouldNotifyClientFailed):
1838 2013-06-18 Mario Sanchez Prada <mario.prada@samsung.com>
1840 Shader compiler not properly configured for GLES on cairo based ports
1841 https://bugs.webkit.org/show_bug.cgi?id=117705
1843 Reviewed by Martin Robinson.
1845 Configure the shader compiler with SH_ESSL_OUTPUT for GLESv2
1846 compliant platforms, and with SH_GLSL_OUTPUT otherwise.
1848 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1849 (WebCore::GraphicsContext3D::GraphicsContext3D):
1851 2013-06-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
1853 touching any idl rebuilds all derived sources
1854 https://bugs.webkit.org/show_bug.cgi?id=117708
1856 Reviewed by Kentaro Hara.
1858 Fix preprocess-idls.pl script to update the following files only
1859 if they have changed:
1860 DerivedSources/WebCore/supplemental_dependency.tmp
1861 DerivedSources/WebCore/DOMWindowConstructors.idl
1862 DerivedSources/WebCore/WorkerContextConstructors.idl
1864 This avoids triggering uselessly bindings generation for all IDL
1865 files whenever an IDL file is touched.
1867 No new tests, no behavior change.
1869 * bindings/scripts/preprocess-idls.pl:
1870 (WriteFileIfChanged):
1871 (GeneratePartialInterface):
1873 2013-06-18 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1875 [GStreamer] [texmap] upload a video buffer into the video texture
1876 https://bugs.webkit.org/show_bug.cgi?id=116042
1878 Reviewed by Philippe Normand.
1880 This patch prepares more quickly the texture when the video frame is
1881 already in the GPU memory.
1883 It is done using a new buffer's metadata available in GStreamer 1.2,
1884 and its purpose is to upload buffers into a OpenGL texture.
1886 If the decoder provides buffers with this metadata, the buffer will be
1887 uploaded into the texture used for the video display and it will be
1888 rendered, avoiding a expensive mem copies. This is particularly useful
1889 for Full HD videos, where all the processing and display will be done
1892 No new tests, covered by existing tests.
1894 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1895 (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
1896 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1897 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1898 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1899 (webkitVideoSinkProposeAllocation):
1901 2013-06-17 Peter Gal <galpeter@inf.u-szeged.hu>
1903 [curl] Set the http response status text
1904 https://bugs.webkit.org/show_bug.cgi?id=117307
1906 Reviewed by Brent Fulgham.
1908 No new tests, covered by existing ones.
1910 * platform/network/curl/ResourceHandleManager.cpp:
1911 (WebCore::headerCallback):
1913 2013-06-14 Brent Fulgham <bfulgham@apple.com>
1915 AX: Correct accessibility role when -webkit-box:display is used.
1916 https://bugs.webkit.org/show_bug.cgi?id=117706
1918 Reviewed by Chris Fleizach.
1920 accessibility/box-styled-lists.html
1922 * accessibility/AccessibilityRenderObject.cpp:
1923 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): If HTML token is
1924 of the list element type, treat it as a ListItemRole accessibility role, regardless
1925 of what specific renderer is being used.
1927 2013-06-17 Roger Fong <roger_fong@apple.com>
1929 Add some UNUSED_PARAMs to RenderBlock.cpp so that it builds properly if CSS_EXCLUSIONS is disabled.
1930 https://bugs.webkit.org/show_bug.cgi?id=117722.
1932 Rubberstamped by Jon Lee.
1934 * rendering/RenderBlock.cpp:
1935 (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
1936 (WebCore::RenderBlock::logicalLeftOffsetForLine):
1937 (WebCore::RenderBlock::logicalRightOffsetForLine):
1939 2013-06-17 Beth Dakin <bdakin@apple.com>
1941 PageBanners appear over HTML5 video when media element is in full screen mode
1942 https://bugs.webkit.org/show_bug.cgi?id=117721
1944 <rdar://problem/13686998>
1946 Reviewed by Sam Weinig.
1948 Update the scrolling tree when a header/footer has been removed.
1949 * rendering/RenderLayerCompositor.cpp:
1950 (WebCore::RenderLayerCompositor::updateLayerForHeader):
1951 (WebCore::RenderLayerCompositor::updateLayerForFooter):
1953 2013-06-17 Roger Fong <roger_fong@apple.com>
1955 Modify Windows makefiles to copy some bin output into Program Files.
1956 https://bugs.webkit.org/show_bug.cgi?id=117714.
1957 <rdar://problem/14179054>
1959 Reviewed by Brent Fulgham.
1961 * WebCore.vcxproj/WebCore.make:
1963 2013-06-17 Max Vujovic <mvujovic@adobe.com>
1965 Crash in loadPendingShaders
1966 https://bugs.webkit.org/show_bug.cgi?id=117665
1968 Reviewed by Dean Jackson.
1970 Speculative fix because the crash reports do not contain a test case.
1972 Rearrange the conditions to check m_state.hasPendingShaders() first. Additionally, check if
1973 m_state.style() is non-null.
1975 No new tests. We don't know how to reproduce this crash yet.
1977 * css/StyleResolver.cpp:
1978 (WebCore::StyleResolver::loadPendingShaders):
1980 2013-06-17 Ruth Fong <ruth_fong@apple.com>
1982 REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
1983 https://bugs.webkit.org/show_bug.cgi?id=20599
1985 Add a "Download Video"/"Download Audio" context menu item to download media
1988 Reviewed by Beth Dakin.
1990 No new tests. media/context-menu-action.html,
1991 which has been disabled by bug 116651, is used to test context menus.
1993 * English.lproj/Localizable.strings: Updated to
1994 include localizable strings for "Download Video" and "Download Audio".
1996 * page/ContextMenuController.cpp: Updated to
1997 include and handle a "Download Video/Audio" context menu item.
1999 * platform/ContextMenuItem.h:
2001 * platform/LocalizedStrings.cpp:
2002 * platform/LocalizedStrings.h:
2003 * platform/efl/LocalizedStringsEfl.cpp:
2004 * platform/gtk/LocalizedStringsGtk.cpp:
2005 * platform/qt/LocalizedStringsQt.cpp:
2006 Updated to include localizable strings for "Download Video" and "Download Audio".
2008 2013-06-17 Zoltan Horvath <zoltan@webkit.org>
2010 [CSS Shapes] Consider bottom borders when calculating the position of the overflow
2011 https://bugs.webkit.org/show_bug.cgi?id=117663
2013 Reviewed by Alexandru Chiculita.
2015 When you have a shape and the content overflows from the shape we need to push the overflow below the content box,
2016 not below the border box. We didn't consider the bottom borders of the content box, now I fixed it too and the overflow
2017 just starts after the content box. I added a new helper function called pushShapeContentOverflowBelowTheContentBox. Now
2018 both the shape in flow thread and the shape overflow use the same function. I added a new test and modified the existing
2019 tests to cover all the affected cases.
2021 Test: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
2022 Existing overflow tests also modified to test the behavior:
2023 fast/exclusions/shape-inside/shape-inside-empty-expected.html
2024 fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content-expected.html
2025 fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html
2026 fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html
2027 fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html
2028 fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html
2029 fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html
2031 * rendering/RenderBlockLineLayout.cpp:
2032 (WebCore::pushShapeContentOverflowBelowTheContentBox):
2033 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine):
2034 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):
2036 2013-06-17 Igor Oliveira <igor.o@sisa.samsung.com>
2038 [CSS Regions] ::before and ::after pseudo-elements are not displayed for regions
2039 https://bugs.webkit.org/show_bug.cgi?id=80163
2041 When the implementation of the before/after was moved to the DOM, before/after generated
2042 content stoppped to work with css regions. The problem happens when:
2043 1. RenderRegion can not have children and when the PseudoElement::attach tries to create a renderer for the
2044 generated content, it fails.
2045 2. RenderRegion::canHaveGeneratedChildren should not be false because regions can have generated content.
2047 Reviewed by David Hyatt.
2049 Tests: fast/regions/region-dynamic-after-before.html
2050 fast/regions/region-generated-content-before-after.html
2052 * dom/NodeRenderingContext.cpp:
2053 (WebCore::NodeRenderingContext::shouldCreateRenderer):
2054 * rendering/RenderRegion.h:
2056 2013-06-17 Michael Brüning <michael.bruning@digia.com>
2058 [Mac] Remove unmaintained GStreamer specific video code.
2059 https://bugs.webkit.org/show_bug.cgi?id=117694
2061 Reviewed by Philippe Normand.
2063 No new tests, no behaviour change.
2065 * platform/mac/WebVideoFullscreenController.mm:
2066 (-[WebVideoFullscreenController setupVideoOverlay:]):
2067 (-[WebVideoFullscreenController windowDidLoad]):
2068 (-[WebVideoFullscreenController setMediaElement:]):
2069 (-[WebVideoFullscreenController windowDidExitFullscreen]):
2071 2013-06-17 Michael Brüning <michael.bruning@digia.com>
2073 [Qt] Remove Qt specific QTKIT flagged code.
2074 https://bugs.webkit.org/show_bug.cgi?id=117635
2076 Reviewed by Simon Hausmann.
2078 Due to disabling QTKIT for Qt in r151546, the
2079 code the flags that are not taken into account
2080 anymore and the code that has been rendered
2081 unreachable by this are removed.
2083 No new tests, no behavioural change.
2087 * page/Settings.cpp:
2090 * platform/SharedBuffer.h:
2091 * platform/cf/KURLCFNet.cpp:
2092 (WebCore::KURL::fileSystemPath):
2093 * platform/cf/SharedBufferCF.cpp:
2094 * platform/graphics/FloatSize.h:
2095 * platform/graphics/IntRect.h:
2096 * platform/graphics/IntSize.h:
2097 * platform/graphics/MediaPlayer.cpp:
2098 (WebCore::installedMediaEngines):
2099 * platform/graphics/cg/FloatSizeCG.cpp:
2100 * platform/graphics/cg/IntRectCG.cpp:
2101 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2102 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2103 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2104 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2105 (WebCore::MediaPlayerPrivateQTKit::paint):
2106 (-[WebCoreMovieObserver layerHostChanged:]):
2107 * platform/mac/SharedBufferMac.mm:
2108 (+[WebCoreSharedBufferData initialize]):
2109 (WebCore::SharedBuffer::createWithContentsOfFile):
2111 2013-06-17 Allan Sandfeld Jensen <allan.jensen@digia.com>
2113 REGRESSSION(r151632) : Build error on ASSERT(WTF_USE_GRAMMAR_CHECKING)
2114 https://bugs.webkit.org/show_bug.cgi?id=117692
2116 Reviewed by Jocelyn Turcotte.
2118 Ifdef the feature-depending code and fix the assertions to check runtime conditions.
2120 * editing/Editor.cpp:
2121 (WebCore::Editor::advanceToNextMisspelling):
2122 (WebCore::Editor::markMisspellingsOrBadGrammar):
2123 (WebCore::Editor::markBadGrammar):
2124 * editing/TextCheckingHelper.cpp:
2125 (WebCore::findBadGrammars):
2126 (WebCore::TextCheckingHelper::findFirstGrammarDetail):
2127 (WebCore::TextCheckingHelper::findFirstBadGrammar):
2128 (WebCore::TextCheckingHelper::isUngrammatical):
2129 (WebCore::TextCheckingHelper::markAllBadGrammar):
2130 (WebCore::checkTextOfParagraph):
2131 * editing/TextCheckingHelper.h:
2133 2013-06-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2135 Unreviewed, rolling out r151632.
2136 http://trac.webkit.org/changeset/151632
2137 https://bugs.webkit.org/show_bug.cgi?id=117585
2139 Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
2142 * page/ContextMenuController.cpp:
2143 (WebCore::ContextMenuController::contextMenuItemSelected):
2144 (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
2145 (WebCore::ContextMenuController::populate):
2146 (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2147 * platform/LocalizedStrings.cpp:
2148 (WebCore::contextMenuItemTagSpellingMenu):
2149 (WebCore::contextMenuItemTagShowSpellingPanel):
2150 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2151 * platform/LocalizedStrings.h:
2152 * platform/efl/LocalizedStringsEfl.cpp:
2153 (WebCore::contextMenuItemTagSpellingMenu):
2154 (WebCore::contextMenuItemTagShowSpellingPanel):
2155 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2156 * platform/gtk/LocalizedStringsGtk.cpp:
2157 (WebCore::contextMenuItemTagSpellingMenu):
2158 (WebCore::contextMenuItemTagShowSpellingPanel):
2159 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2160 * platform/qt/LocalizedStringsQt.cpp:
2161 (WebCore::contextMenuItemTagSpellingMenu):
2162 (WebCore::contextMenuItemTagShowSpellingPanel):
2163 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2165 2013-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
2167 Unreviewed. Fix make distcheck.
2169 * GNUmakefile.list.am: Remove non existent files from compilation
2170 and add a missing header file.
2172 2013-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2174 Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
2175 https://bugs.webkit.org/show_bug.cgi?id=117585
2177 Reviewed by Anders Carlsson.
2179 Do not add "Check Grammar With Spelling" and "Ignore Grammar" to the context menu
2180 when GRAMMAR_CHECKING is off.
2181 Replace "Spelling and Grammar" with "Spelling" as the sub menu title and "Show/Hide Spelling
2182 and Grammar" with "Show/Hide Spelling" when GRAMMAR_CHECKING is off.
2184 Additionally, guard grammar checking in context menu code to not necessarily
2187 No new layout tests because every port has a different way of showing
2188 spelling/grammar context menu items.
2190 * page/ContextMenuController.cpp:
2191 (WebCore::ContextMenuController::contextMenuItemSelected):
2192 (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
2193 (WebCore::ContextMenuController::populate):
2194 (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2195 * platform/LocalizedStrings.cpp:
2196 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2197 (WebCore::contextMenuItemTagSpellingMenu):
2198 (WebCore::contextMenuItemTagShowSpellingPanel):
2199 * platform/LocalizedStrings.h:
2200 * platform/efl/LocalizedStringsEfl.cpp:
2201 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2202 (WebCore::contextMenuItemTagSpellingMenu):
2203 (WebCore::contextMenuItemTagShowSpellingPanel):
2204 * platform/gtk/LocalizedStringsGtk.cpp:
2205 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2206 (WebCore::contextMenuItemTagSpellingMenu):
2207 (WebCore::contextMenuItemTagShowSpellingPanel):
2208 * platform/qt/LocalizedStringsQt.cpp:
2209 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2210 (WebCore::contextMenuItemTagSpellingMenu):
2211 (WebCore::contextMenuItemTagShowSpellingPanel):
2213 2013-06-16 Simon Fraser <simon.fraser@apple.com>
2215 Fix test assertion after r151624
2217 An assertion was hit in RenderObject::willBeDestroyed()
2218 for fast/css/getComputedStyle/getComputedStyle-background-shorthand.html
2219 because the code asserted that the RenderObject had been removed from
2220 the FrameView's slowRepaintObject set before remove() was called,
2221 so move the assertion to after that call.
2223 * rendering/RenderObject.cpp:
2224 (WebCore::RenderObject::willBeDestroyed):
2226 2013-06-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2228 Remove a redundant virtual call to hostWindow() in FrameView::invalidateRect()
2229 https://bugs.webkit.org/show_bug.cgi?id=117685
2231 Reviewed by Andreas Kling.
2233 From Blink r152490 by <vivek.vg@samsung.com>
2235 * page/FrameView.cpp:
2236 (WebCore::FrameView::invalidateRect): Avoid hostWindow() twice call.
2238 2013-06-16 Kent Tamura <tkent@chromium.org>
2240 Fix two assertion failures in Range::insertNode
2241 https://bugs.webkit.org/show_bug.cgi?id=116511
2243 Reviewed by Ryosuke Niwa.
2245 > ASSERTION FAILED: childBefore == (offset ? container->childNode(offset - 1) : 0)
2246 > third_party/WebKit/Source/WebCore/dom/RangeBoundaryPoint.h(115) : void WebCore::RangeBoundaryPoint::set(PassRefPtr<WebCore::Node>, int, WebCore::Node *)
2248 > ASSERTION FAILED: child->parentNode()
2249 > ../../third_party/WebKit/Source/core/dom/RangeBoundaryPoint.h(133) : void WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node *)
2250 > 1 0x87594b2 WebCore::RangeBoundaryPoint::setToBeforeChild(WebCore::Node*)
2251 > 2 0x87534a9 WebCore::Range::insertNode(WTF::PassRefPtr<WebCore::Node>, int&)
2253 Range::insertNode calls Node::insertBefore, in which an event handler
2254 can update the DOM structure so that RangeBoundaryPoint don't like. We
2255 postpone event dispatching by EventQueueScope.
2257 Also, remove old comments about Acid3. The behavior is standardized.
2258 (Step 9 of http://dom.spec.whatwg.org/#dom-range-insertnode)
2260 This patch imports http://src.chromium.org/viewvc/blink?view=revision&revision=150470 .
2262 Test: fast/dom/Range/range-insertNode-assertion.html
2265 (WebCore::Range::insertNode):
2266 - Add EventQueueScope
2267 - Remove obsolete comments
2269 2013-06-16 Simon Fraser <simon.fraser@apple.com>
2271 Fixed backgrounds in composited layers not repainted on scrolling
2272 https://bugs.webkit.org/show_bug.cgi?id=117684
2274 Reviewed by Tim Horton.
2276 FrameView is aware that "slow-repaint objects" (i.e. renderers with
2277 background-attachment:fixed) require a slow-scrolling path. However,
2278 it was ignorant of the fact that such objects could be painting into
2279 compositing layers; it simply dirtied the main tiles, and nothing else.
2281 Fix by having FrameView track the slow-repaints objects explicitly, as we
2282 do for position:fixed, and repaint each of them on scrolling.
2284 Test: compositing/repaint/fixed-background-scroll.html
2286 * page/FrameView.cpp:
2287 (WebCore::FrameView::FrameView): No need to initialize m_slowRepaintObjectCount,
2288 which is now an OwnPtr<RenderObjectSet>.
2289 (WebCore::FrameView::useSlowRepaints): Use hasSlowRepaintObjects() now.
2290 (WebCore::FrameView::addSlowRepaintObject): Now adds the object to a set,
2291 allocating the set if necessary.
2292 (WebCore::FrameView::removeSlowRepaintObject): Remove the object from the set,
2293 and deallocate the set if empty.
2294 (WebCore::FrameView::scrollContentsSlowPath): Call repaintSlowRepaintObjects();
2295 this is the change that fixes the bug for always-composited implementations (e.g.
2296 tile cache). This is a conservative change; we still invalidate the tile cache
2297 as well. This could be optimized later.
2298 (WebCore::FrameView::repaintSlowRepaintObjects): Repaint each object in the set.
2299 Their appropriate compositing ancestor will be repainted.
2300 (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Call
2301 repaintSlowRepaintObjects() so that fixed backgrounds in composited layers are
2302 correctly repainted; this fixes the bug for WebKit1.
2303 * page/FrameView.h: Replace m_slowRepaintObjectCount with a HashSet of
2305 (WebCore::FrameView::hasSlowRepaintObject): Takes a RenderObject* now.
2306 (WebCore::FrameView::hasSlowRepaintObjects): Ditto.
2307 * rendering/RenderObject.cpp:
2308 (WebCore::RenderObject::styleWillChange): Pass the RenderObject.
2309 (WebCore::RenderObject::willBeDestroyed): Assert that this RenderObject
2310 has been removed from FrameView's set of slow-repaint objects already, if
2311 the document is not being destroyed.
2312 (WebCore::RenderObject::willBeRemovedFromTree): Pass the RenderObject.
2314 2013-06-15 Simon Fraser <simon.fraser@apple.com>
2316 Painting of fixed background images is wrong in composited layers
2317 https://bugs.webkit.org/show_bug.cgi?id=65793
2319 Reviewed by Sam Weinig.
2321 The code that computed background image geometry for background-attachment:fixed
2322 images was unaware of compositing, so often painting the image at the wrong location.
2324 Fix by having RenderBoxModelObject::calculateBackgroundImageGeometry() do the correct
2325 math for fixed backgrounds in composited layer by offsetting the viewport rect by
2326 the paint container's absolute position.
2328 Tests: compositing/backgrounds/fixed-background-on-descendant.html
2329 compositing/backgrounds/fixed-backgrounds.html
2331 * rendering/RenderBox.cpp:
2332 (WebCore::RenderBox::getBackgroundPaintedExtent): Now returns a bool indicating
2333 whether it is returning a reliable extent rect. It can return false in the case where
2334 a background is fixed, since computing the correct extent would require finding
2335 the appropriate composited ancestor to pass to calculateBackgroundImageGeometry().
2336 This is OK since this function is used for "background opaque" optimizations.
2337 (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
2338 returns false, return false.
2339 (WebCore::RenderBox::maskClipRect): We removed mask-attachment, so we never need to
2340 compute the composited ancestor here and can pass null.
2341 (WebCore::RenderBox::repaintLayerRectsForImage): Unwrap a comment.
2342 If the changed image is related to a fixed background, geometry.hasNonLocalGeometry()
2343 will be true. In that cause, just repaint the entire renderer rather than groveling
2344 around for a composited ancestor.
2345 * rendering/RenderBox.h: Changed name and signature of backgroundPaintedExtent.
2346 * rendering/RenderBoxModelObject.cpp:
2347 (WebCore::RenderBoxModelObject::paintFillLayerExtended): calculateBackgroundImageGeometry()
2348 now needs to know the painting container.
2349 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Now takes a painting
2350 container, that is required to correctly compute the viewport-relative offset for fixed
2351 backgrounds. geometry.setHasNonLocalGeometry() is set for fixed backgrounds to indicate
2352 to callers that, if they didn't pass a paint container, the destRect is not accurate.
2353 The main bug fix is also here: we move the viewportRect by the absolute location of
2354 paint container, which is equivalent to the composited layer offset.
2355 (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage): calculateBackgroundImageGeometry()
2356 takes a paint container.
2357 * rendering/RenderBoxModelObject.h:
2358 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry):
2359 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry):
2360 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry):
2361 * rendering/RenderImage.cpp:
2362 (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured): If getBackgroundPaintedExtent()
2363 can't cheaply give an accurate answer, return false.
2364 * rendering/RenderLayerBacking.cpp:
2365 (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): Pass the paint container,
2366 which is our own renderer.
2368 2013-06-15 Simon Fraser <simon.fraser@apple.com>
2370 webkit-backface-visibility on a parent element stops background-position from updating
2371 https://bugs.webkit.org/show_bug.cgi?id=116319
2373 Reviewed by Darin Adler.
2375 The optimization added in r102952 was incorrect in the case where a style change
2376 resulted in a positioned-movement-only layout but also required a repaint; it assumed
2377 that a composited layer did not need to be repainted for a a positioned-movement-only layout.
2379 Fix by making RenderObject::setNeedsLayoutForPositionedMovement() check whether the
2380 style change requires a repaint, and calling setLayerNeedsFullRepaint() in that situation.
2382 Test: compositing/repaint/positioned-movement.html
2384 * rendering/RenderLayer.h: RepaintStatus values do not need to be bit flags.
2385 * rendering/RenderObject.cpp:
2386 (WebCore::RenderObject::setStyle): Pass the old style to setNeedsPositionedMovementLayout().
2387 (WebCore::RenderObject::styleDidChange): Ditto.
2388 * rendering/RenderObject.h:
2389 (WebCore::RenderObject::setNeedsPositionedMovementLayout): Now takes a const RenderStyle*.
2390 * rendering/style/RenderStyle.cpp:
2391 (WebCore::RenderStyle::diff): Remove a comment now that this bug is fixed.
2392 (WebCore::RenderStyle::diffRequiresRepaint): Public wrapper for changeRequiresRepaint().
2393 That function never uses contextSensitiveProperties so we can safely ignore them.
2394 * rendering/style/RenderStyle.h: Expose a way to call changeRequiresRepaint().
2396 2013-06-15 Darin Adler <darin@apple.com>
2398 Try to fix iOS after last Pasteboard change.
2400 * platform/ios/PasteboardIOS.mm:
2401 (WebCore::Pasteboard::writeSelection): Put the new code inline here because the
2402 stringSelectionForPasteboard function is currently Mac-only.
2404 2013-06-15 Darin Adler <darin@apple.com>
2406 Move Pasteboard::getStringSelection to Editor, fixing a layering violation
2407 https://bugs.webkit.org/show_bug.cgi?id=117673
2409 Reviewed by Ryosuke Niwa.
2411 * editing/Editor.h: Added stringSelectionForPasteboardWithImageAltText.
2413 * editing/mac/EditorMac.mm:
2414 (WebCore::Editor::stringSelectionForPasteboard): Moved code here from the Pasteboard
2415 class, since all the Pasteboard class did really was turn around and call back here.
2416 (WebCore::Editor::stringSelectionForPasteboardWithImageAltText): Added. Variant of
2417 the function above that includes image alt text. Separate named functions are often
2418 the best pattern for something like this unless there are many different combinations.
2420 * platform/Pasteboard.h: Remove the Mac-only Pasteboard::getStringSelectioon.
2422 * platform/ios/PasteboardIOS.mm:
2423 (WebCore::Pasteboard::writeSelection):
2424 * platform/mac/PasteboardMac.mm:
2425 (WebCore::Pasteboard::writeSelectionForTypes):
2426 Call the two new functions instead of the old Pasteboard::getStringSelection.
2428 2013-06-15 Darin Adler <darin@apple.com>
2430 Support using clang instead of gcc for bindings preprocessing
2431 https://bugs.webkit.org/show_bug.cgi?id=117674
2433 Reviewed by Sam Weinig.
2435 I couldn't build on my computer because I don't have gcc installed.
2436 This is my cut at fixing it.
2438 * bindings/scripts/CodeGeneratorObjC.pm:
2439 (ReadPublicInterfaces): Use clang if present.
2440 * bindings/scripts/preprocessor.pm:
2441 (applyPreprocessor): Ditto.
2443 2013-06-14 Robert Hogan <robert@webkit.org>
2445 REGRESSION (r148367): Facebook and Twitter icons at macworld.com are stacked vertically, obscuring Twitter one
2446 https://bugs.webkit.org/show_bug.cgi?id=117284
2448 Reviewed by David Hyatt.
2450 Test: fast/text/whitespace/inline-whitespace-wrapping-7.html
2452 We were looking for line breaks in trailing collapsed whitespace even when inside a nowrap inline.
2453 It's wrong to do this as we don't know yet if we will want or need to break - that decision has to
2454 be deferred until we enter a part of the line that is autowrap.
2456 * rendering/RenderBlockLineLayout.cpp:
2457 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2459 2013-06-14 Lukasz Gajowy <l.gajowy@samsung.com>
2461 background-color is not preserved when inserting a new paragraph
2462 https://bugs.webkit.org/show_bug.cgi?id=117138
2464 Reviewed by Ryosuke Niwa.
2466 The style isn't copied because background-color isn't defined as inheritable property.
2468 Test: editing/inserting/insert-paragraph-not-preserving-background-color.html
2470 * editing/InsertParagraphSeparatorCommand.cpp:
2471 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
2472 Passing EditingPropertiesInEffect instead of implicit parameter OnlyEditingInheritableProperties.
2474 2013-06-14 Adam Barth <abarth@webkit.org>
2476 Threaded HTML parser can ASSERT in some situations
2477 https://bugs.webkit.org/show_bug.cgi?id=117662
2479 Reviewed by Ryosuke Niwa.
2481 This patch merges https://chromium.googlesource.com/chromium/blink/+/3c0a112b42d72c7623f78463166dd7f04d680b4c
2484 The parser is supposed to stop processing data when there's a pending
2485 location change, but before this CL we would actually process the first
2486 token from every chunk when there was a pending location change.
2488 If the first token in a chunk was a "script" start tag, that would put
2489 the tree builder into TextMode, which can only process character
2490 tokens. If the next chunk starts with another start tag token, the tree
2491 builder would be sad and hit an ASSERT.
2493 This CL reorders a couple lines in HTMLDocumentParser so that we check
2494 for pending location changes before processing any tokens. This change
2495 stops us from processing the first token from each chunk while there is
2496 a pending location change.
2498 This issue can reproduce on any platform, but it reproduced often on
2499 Android because mobile markup often elides spaces between consecutive
2500 script tags. If there are space characters between the script tags,
2501 then those space characters will be the first ones processes in the
2502 chunk, which doesn't trigger the ASSERT.
2505 Since we landed this patch in Blink, we've been able to reproduce this
2506 issue on desktops as well. I spoke with rniwa in #webkit and he said
2507 that WebKit doesn't have any current plans to enable the threaded
2508 parser but that it was probably worth merging this patch anyway.
2510 Test: http/tests/navigation/pending-location-change-assert.html
2512 * html/parser/HTMLDocumentParser.cpp:
2513 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2515 2013-06-14 Patrick Gansterer <paroga@webkit.org>
2517 Introduce USE(WINGDI) for the Windows port
2518 https://bugs.webkit.org/show_bug.cgi?id=116138
2520 Reviewed by Ryosuke Niwa.
2522 Using USE(WINGDI) instead of OS(WINCE) will allow us to
2523 compile the GDI based Windows port on WinNT too.
2526 * platform/graphics/BitmapImage.h:
2527 * platform/graphics/FontPlatformData.h:
2528 * platform/graphics/GlyphBuffer.h:
2531 * platform/graphics/Gradient.h:
2533 * platform/graphics/GraphicsContext.cpp:
2535 * platform/graphics/GraphicsContext.h:
2538 * platform/graphics/ImageBufferData.h:
2539 * platform/graphics/NativeImagePtr.h:
2541 * platform/graphics/Path.h:
2542 * platform/graphics/Pattern.h:
2543 * plugins/win/PluginViewWin.cpp:
2544 (WebCore::PluginView::paintWindowedPluginIntoContext):
2545 (WebCore::PluginView::paint):
2546 (WebCore::PluginView::snapshot):
2548 2013-06-13 Jer Noble <jer.noble@apple.com>
2550 Report the memory cost of HTMLMediaElements to GC.
2551 https://bugs.webkit.org/show_bug.cgi?id=117608
2553 Reviewed by Darin Adler.
2555 Report the extra memory cost of a HTMLMediaElement to the VM, in order to
2556 encourage GC to occur after a media element is removed from the DOM.
2558 Because we cannot know for sure the memory cost of our underlying media
2559 framework objects, use the worst case scenario for the media memory cost:
2560 the buffered percentage of movie * the total data length of the movie.
2562 * html/HTMLMediaElement.cpp:
2563 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedExtraMemoryCost.
2564 (WebCore::HTMLMediaElement::removedFrom): Report the extra memory cost.
2565 * html/HTMLMediaElement.h:
2566 * html/TimeRanges.cpp:
2567 (TimeRanges::totalDuration): Added convenience function.
2568 * html/TimeRanges.h:
2569 * platform/graphics/MediaPlayer.cpp:
2570 (WebCore::MediaPlayer::extraMemoryCost): Pass to MediaPlayerPrivate.
2571 * platform/graphics/MediaPlayer.h:
2572 * platform/graphics/MediaPlayerPrivate.h:
2573 (WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default to 0.
2574 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2575 (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Return the percentage
2576 loaded * total data length.
2577 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2579 2013-06-13 Jer Noble <jer.noble@apple.com>
2581 Add support for AVFoundation-backed HTMLMediaElements in the WebVideoFullScreenController.
2582 https://bugs.webkit.org/show_bug.cgi?id=117597
2584 Reviewed by Eric Carlson.
2586 Check for media elements with AVFoundation media types and create a AVPlayerLayer
2587 rather than a QTMovieLayer.
2589 * platform/mac/WebVideoFullscreenController.h:
2590 * platform/mac/WebVideoFullscreenController.mm:
2591 (-[WebVideoFullscreenController setupVideoOverlay:]): Take a CALayer rather than a
2592 QTMovieLayer. Move the code which connects the layer with it's media source into
2594 (-[WebVideoFullscreenController windowDidLoad]): Give the window's contentView a generic
2595 CALayer instaead of a QTMovieLayer.
2596 (-[WebVideoFullscreenController setMediaElement:]): Test whether the incoming media
2597 element is backed by a QTMovie or an AVPlayer, and create the appropriate layer.
2598 (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the observer of
2599 AVPlayer's rate property.
2600 (-[WebVideoFullscreenController observeValueForKeyPath:ofObject:change:context:]):
2601 If the keyPath is "rate", call rateChanged.
2603 2013-06-14 Enrica Casucci <enrica@apple.com>
2605 WKPageFindStringMatches ignores the kWKFindOptionsBackwards option.
2606 https://bugs.webkit.org/show_bug.cgi?id=117647
2607 <rdar://problem/13881024>
2609 Reviewed by Darin Adler.
2611 The API returns the matched ranges in the DOM order regardless of the
2612 find direction, but the index of the first match after the user selection
2613 should take the find direction into account.
2615 Extended existing test in TestWebKitAPI.
2618 (WebCore::Page::findStringMatchingRanges): Added handling of the Backwards case.
2619 * page/Page.h: Fixed incorrect name of the enum.
2621 2013-06-14 Jer Noble <jer.noble@apple.com>
2623 REGRESSION (r150651): Web Audio doesn't work at all (silence or squawks) on Mountain Lion
2624 https://bugs.webkit.org/show_bug.cgi?id=117652
2626 Reviewed by Eric Carlson.
2628 r150651 disabled setting the buffer size to a large value, but in so doing, also
2629 disabled setting the buffer size to a small value for Web Audio. Narrow the Mountain
2630 Lion protection to just the <video> element case.
2632 * platform/audio/mac/AudioSessionManagerMac.cpp:
2633 (AudioSessionManager::updateSessionState):
2635 2013-06-14 Ryosuke Niwa <rniwa@webkit.org>
2637 Function names on Object.prototype should be common identifiers
2638 https://bugs.webkit.org/show_bug.cgi?id=117614
2640 Reviewed by Darin Adler.
2642 Use the added common identifiers.
2644 * bindings/js/JSDOMWindowBase.cpp:
2645 (WebCore::JSDOMWindowBase::finishCreation):
2646 (WebCore::JSDOMWindowBase::updateDocument):
2648 2013-06-14 Arpita Bahuguna <a.bah@samsung.com>
2650 Editing: wrong text position when you click enter on the text behind the image
2651 https://bugs.webkit.org/show_bug.cgi?id=115023
2653 Reviewed by Ryosuke Niwa.
2655 When trying to break a line after an image followed by some text, contrary
2656 to the expected behavior the text doesn't move to a new line, instead, the
2657 caret position just shifts to the end of line.
2659 As per the existing implementation for inserting a paragraph separator,
2660 the insertion position obtained corresponds to the point after the image
2662 Since the insertion position doesn't resolve to being offset in the
2663 following text node (0 offset), no splitting of text occurs and the block
2664 to be inserted is placed after the containing (start) block (thereby
2665 causing the caret position to shift).
2667 If the computed insertionPosition points to an element that shall be
2668 ignored for editing purposes (i.e. cannot have a VisiblePosition inside
2669 it), and the position lies either at the start or at the end of such
2670 an element, we should move our Position either upstream or
2671 downstream (respectively) so as to obtain a valid position which can
2672 be used further for splitting of the text.
2674 Test: editing/inserting/insert-paragraph-after-non-editable-node-before-text.html
2676 * editing/InsertParagraphSeparatorCommand.cpp:
2677 (WebCore::InsertParagraphSeparatorCommand::doApply):
2678 Moving the insertionPosition either upstream or downstream, if the point
2679 lies either at the start or at the end of the anchor node.
2680 The ensuing position, if a text node, can then be used for splitting of
2683 2013-06-14 Alberto Garcia <agarcia@igalia.com>
2685 [BlackBerry] Remove implementation of ContextMenu classes
2686 https://bugs.webkit.org/show_bug.cgi?id=114860
2688 Reviewed by Rob Buis.
2690 This code is not being used so we can safely remove it.
2692 * PlatformBlackBerry.cmake:
2693 * platform/blackberry/ContextMenuBlackBerry.cpp: Removed.
2694 * platform/blackberry/ContextMenuItemBlackBerry.cpp: Removed.
2695 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2697 2013-06-14 Brent Fulgham <bfulgham@apple.com>
2699 [Windows] Provide simple <meter> drawing logic for testing.
2700 https://bugs.webkit.org/show_bug.cgi?id=117645.
2702 Reviewed by Anders Carlsson.
2704 accessbility/meter-element.html
2706 * rendering/RenderThemeSafari.cpp: Simple test implementation
2707 (WebCore::RenderThemeSafari::adjustMeterStyle): Added.
2708 (WebCore::RenderThemeSafari::supportsMeter): Added.
2709 (WebCore::RenderThemeSafari::meterSizeForBounds): Added.
2710 (WebCore::RenderThemeSafari::paintMeter): Added.
2711 * rendering/RenderThemeSafari.h:
2712 * rendering/RenderThemeWin.cpp:
2713 (WebCore::RenderThemeWin::progressBarTheme): Added.
2714 (WebCore::RenderThemeWin::getClassicThemeData): Support meters.
2715 (WebCore::RenderThemeWin::getThemeData): Support meter theme.
2716 (WebCore::RenderThemeWin::adjustMeterStyle): Added.
2717 (WebCore::RenderThemeWin::supportsMeter): Added.
2718 (WebCore::RenderThemeWin::meterSizeForBounds): Added.
2719 (WebCore::RenderThemeWin::paintMeter): Added.
2720 * rendering/RenderThemeWin.h:
2722 2013-06-14 Eric Carlson <eric.carlson@apple.com>
2724 Potential use-after-free with an event fired at a HTMLMediaElement which is currently being deleted
2725 https://bugs.webkit.org/show_bug.cgi?id=117466
2727 Reviewed by Oliver Hunt.
2729 Merge https://chromium.googlesource.com/chromium/blink/+/f4200a0093b3d9376f703961615359ec7fb712b4
2731 If an event is created using as target an HTMLMediaElement which is
2732 currently being deleted it becomes a heap-use-after free situation.
2734 The GenericEventQueue instance is already owned by the HTMLMediaElement,
2735 and there already is an underlying mechanism to set the target of the
2736 event to NULL, if their target is owner of the queue.
2738 In order to avoid creating this reference in the first place, we enqueue
2739 the event with a NULL target to defer the refcount increment until the
2740 timer for dispatching the event happens (which won't happen at all if
2741 garbage collection is already destroying the objects).
2743 Test: media/track/media-element-enqueue-event-crash.html
2745 * dom/GenericEventQueue.cpp:
2746 (WebCore::GenericEventQueue::enqueueEvent): Don't ASSERT if the event has no target.
2748 * html/HTMLMediaElement.cpp:
2749 (WebCore::HTMLMediaElement::~HTMLMediaElement): Close the event queue so it won't try to
2750 dispatch any pending events.
2751 (WebCore::HTMLMediaElement::scheduleEvent): Don't set the event target, it will happen just
2752 prior to event dispatch.
2753 (WebCore::HTMLMediaElement::stop): Close the event queue.
2755 2013-06-14 Dean Jackson <dino@apple.com>
2757 Clicking on snapshotting plug-ins does not restart them
2758 https://bugs.webkit.org/show_bug.cgi?id=117620
2759 <rdar://problem/13821729>
2761 Follow-up review comments from Darin Adler, with some
2764 Sprinkle OVERRIDE on virtual functions where needed. Also
2765 make sure that the Event is a MouseEvent before casting to it.
2767 * html/HTMLPlugInElement.h: Move defaultEventHandler back to protected and add OVERRIDE.
2768 * html/HTMLPlugInImageElement.cpp:
2769 (WebCore::HTMLPlugInImageElement::defaultEventHandler): Check for MouseEvent and
2771 * html/HTMLPlugInImageElement.h: Sprinkle some OVERRIDEs, and move defaultEventHandler
2774 2013-06-14 Timothy Hatcher <timothy@apple.com>
2776 Remove front-end from the WebCore Xcode project.
2777 https://bugs.webkit.org/show_bug.cgi?id=117640
2779 Reviewed by Darin Adler.
2781 * WebCore.xcodeproj/project.pbxproj:
2783 2013-06-14 Jaehun Lim <ljaehun.lim@samsung.com>
2785 CSSParser::parseImageSet() doesn't need a parameter.
2786 https://bugs.webkit.org/show_bug.cgi?id=117617
2788 Reviewed by Darin Adler.
2790 parseImageSet() can get m_valueList directly.
2793 No new tests, no behavior change.
2795 * css/CSSParser.cpp:
2796 (WebCore::CSSParser::parseValue):
2797 (WebCore::CSSParser::parseContent):
2798 (WebCore::CSSParser::parseFillImage):
2799 (WebCore::CSSParser::parseBorderImage):
2800 (WebCore::CSSParser::parseImageSet):
2803 2013-06-14 Tiancheng Jiang <tijiang@rim.com>
2805 [BlackBerry] Dropdown button UX updates.
2806 https://bugs.webkit.org/show_bug.cgi?id=117642.
2808 Reviewed by Rob Buis.
2811 Internally Reviewed by Jeff Rogers.
2813 Change arrow assert.
2815 * platform/blackberry/RenderThemeBlackBerry.cpp:
2816 (WebCore::RenderThemeBlackBerry::paintMenuList):
2818 2013-06-14 Arvid Nilsson <anilsson@rim.com>
2820 [BlackBerry] LayerTiler fails to tile really big layers
2821 https://bugs.webkit.org/show_bug.cgi?id=117211
2823 Reviewed by Carlos Garcia Campos.
2827 The cause for this bug was that LayerTiler computed which tiles are
2828 visible by exhaustively mapping every tile to normalized device
2829 coordinates and checking if it intersected the viewport. If there was a
2830 lot of tiles, it would get stuck in this loop, iterating over all
2831 tiles, for a very long time. Also, the visibility information was
2832 transferred to the WebKit thread using mutexes, which added unnecessary
2833 mutex contention to the mix.
2835 Fixed by doing the reverse calculation, unprojecting the visible part
2836 of the layer to layer coordinate space to find which tiles are visible.
2837 Instead of doing a traditional unprojection of point to line and see
2838 where the line intersects the layer, this patch uses the w-coordinates
2839 of triangle vertices to perform "perspective correct texturing" of the
2840 intersection points in device space, which is equivalent to
2841 unprojection since perspective correct texturing computes a 2D
2842 coordinate in (normalized) layer coordinate space which is easily
2843 scaled up to the layer bounds and get the visible region expressed in
2844 layer coordinate space.
2846 The visible area is approximated by a rectangle, and a set of tiles
2847 needing render are added to the mix, and we have a swappable data
2848 structure so visbility can be transferred to WebKit thread without
2849 mutexes, but instead using atomic swap.
2851 No new tests, covered by existing tests.
2853 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2854 (CanvasLayerCompositingThreadClient):
2855 (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
2856 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2857 (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2858 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:
2859 (EGLImageLayerCompositingThreadClient):
2860 * platform/graphics/blackberry/LayerCompositingThread.cpp:
2861 (WebCore::LayerCompositingThread::drawTextures):
2862 (WebCore::LayerCompositingThread::drawSurface):
2863 * platform/graphics/blackberry/LayerCompositingThread.h:
2864 (LayerCompositingThread):
2865 * platform/graphics/blackberry/LayerCompositingThreadClient.h:
2867 (LayerCompositingThreadClient):
2868 * platform/graphics/blackberry/LayerRenderer.cpp:
2869 (WebCore::LayerRenderer::compositeLayersRecursive):
2870 * platform/graphics/blackberry/LayerTile.cpp:
2871 (WebCore::LayerTile::LayerTile):
2872 (WebCore::LayerTile::setContents):
2873 (WebCore::LayerTile::updateContents):
2874 (WebCore::LayerTile::discardContents):
2875 * platform/graphics/blackberry/LayerTile.h:
2877 (WebCore::LayerTile::contentsScale):
2878 (WebCore::LayerTile::setContentsDirty):
2879 * platform/graphics/blackberry/LayerTiler.cpp:
2881 (WebCore::LayerVisibility::LayerVisibility):
2882 (WebCore::LayerVisibility::visibleRect):
2883 (WebCore::LayerVisibility::setVisibleRect):
2884 (WebCore::LayerVisibility::needsRender):
2885 (WebCore::LayerVisibility::tileNeedsRender):
2886 (WebCore::LayerVisibility::willRenderTile):
2887 (WebCore::LayerVisibility::swapTilesNeedingRender):
2888 (WebCore::LayerVisibility::merge):
2890 (WebCore::LayerTiler::LayerTiler):
2891 (WebCore::LayerTiler::~LayerTiler):
2892 (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2893 (WebCore::LayerTiler::swapFrontVisibility):
2894 (WebCore::LayerTiler::setFrontVisibility):
2895 (WebCore::LayerTiler::layerVisibilityChanged):
2896 (WebCore::LayerTiler::uploadTexturesIfNeeded):
2897 (WebCore::LayerTiler::processTextureJob):
2898 (WebCore::LayerTiler::addTileJob):
2899 (WebCore::LayerTiler::performTileJob):
2900 (WebCore::LayerTiler::drawTile):
2901 (WebCore::inflateViewport):
2902 (WebCore::LayerTiler::drawTextures):
2903 (WebCore::LayerTiler::pruneTextures):
2904 (WebCore::LayerTiler::rectForTile):
2905 * platform/graphics/blackberry/LayerTiler.h:
2908 (WebCore::LayerTiler::TextureJob::TextureJob):
2909 (WebCore::LayerTiler::takeFrontVisibility):
2910 * platform/graphics/blackberry/LayerUtilities.h:
2915 (WebCore::LayerClipEdge::LayerClipEdge):
2916 (WebCore::LayerClipEdge::isPointInside):
2917 (WebCore::LayerClipEdge::computeIntersection):
2918 (WebCore::intersectPolygonWithRect):
2919 (WebCore::computeBarycentricCoordinates):
2920 (WebCore::manhattanDistanceToViewport):
2921 (UnprojectionVertex):
2922 (WebCore::compareManhattanDistanceToViewport):
2923 (WebCore::unproject):
2925 2013-06-14 Antoine Quint <graouts@apple.com>
2927 [Mac] clicking caption track glyph should dismiss menu
2928 https://bugs.webkit.org/show_bug.cgi?id=117621
2930 We now correctly capture all click events while the captions track menu
2931 is showing, and ensure that no other control in the media player can be
2932 activated as the track list gets dismissed by clicking anywhere but on
2935 Reviewed by Eric Carlson.
2937 * html/shadow/MediaControlsApple.cpp:
2938 (WebCore::MediaControlsApple::showClosedCaptionTrackList):
2939 Make the controls panel non-interactive and track click events in the
2940 capture phase also on the controls container itself such that we can
2941 identify correctly whether a click in the <video> shadow tree is on
2942 the track list or another element (the target could only be resolved
2943 to a shadow tree node if the event is handled within the shadow tree).
2945 (WebCore::MediaControlsApple::hideClosedCaptionTrackList):
2946 Make the controls panel interactive again and remove the new click
2947 event handler on the controls container.
2949 (WebCore::MediaControlsApple::handleClickEvent):
2950 Capture any click event that targets a node anywhere outside of the track
2951 list container and its subtree and hide the track list in this condition.
2953 (WebCore::MediaControlsAppleEventListener::handleEvent):
2954 Call handleClickEvent() on the media controls when a click event is handled.
2956 * html/shadow/MediaControlsApple.h:
2957 New public handleClickEvent() API such that it can be called from
2958 MediaControlsAppleEventListener::handleEvent().
2960 2013-06-14 Arvid Nilsson <anilsson@rim.com>
2962 [BlackBerry] Accelerated compositing layers that intersect the image plane are incorrectly transformed
2963 https://bugs.webkit.org/show_bug.cgi?id=117067
2965 Reviewed by Carlos Garcia Campos.
2969 The BlackBerry port used to mathematically project each corner of each
2970 layer bounds rectangle, which gives the wrong results when the layer
2971 intersects the image plane.
2973 For display lists, we still got the correct appearance of the layer
2974 contents, since the display list results in geometry that's transformed
2975 in the vertex shader, on the GPU.
2977 However, the transformed bounds are used for drawing the debug border,
2978 performing visibility calculations on the CPU and drawing of WebGL,
2979 masks/reflections and filters. Using the mathematical projection of
2980 points that lie behind the image plane gives the wrong results.
2982 The most important consequence of this bug was that the wrong area of
2983 the layer would be considered visible, so a tiled layer would not
2984 populate the right tiles (or any tiles at all).
2986 Fixed by implementing something along the lines of the recipe in
2987 section 6.2 of http://www.w3.org/TR/css3-transforms.
2989 No new tests, manually testable by enabling debug border on
2990 https://developer.mozilla.org/en-US/demos/detail/the-box/launch.
2992 * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
2993 (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
2994 * platform/graphics/blackberry/LayerCompositingThread.cpp:
2995 (WebCore::LayerCompositingThread::LayerCompositingThread):
2996 (WebCore::LayerCompositingThread::setDrawTransform):
2998 (WebCore::LayerCompositingThread::textureCoordinates):
2999 (WebCore::LayerCompositingThread::drawTextures):
3000 * platform/graphics/blackberry/LayerCompositingThread.h:
3001 (LayerCompositingThread):
3002 (WebCore::LayerCompositingThread::transformedBounds):
3003 (WebCore::LayerCompositingThread::ws):
3004 (WebCore::LayerCompositingThread::centerW):
3005 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3006 (WebCore::LayerFilterRenderer::applyActions):
3007 * platform/graphics/blackberry/LayerRenderer.cpp:
3008 (WebCore::compareLayerW):
3009 (WebCore::LayerRenderer::compositeLayers):
3010 (WebCore::LayerRenderer::drawDebugBorder):
3012 (WebCore::LayerRenderer::updateLayersRecursive):
3013 (WebCore::LayerRenderer::compositeLayersRecursive):
3014 * platform/graphics/blackberry/LayerRenderer.h:
3017 * platform/graphics/blackberry/LayerRendererSurface.cpp:
3018 (WebCore::LayerRendererSurface::boundingBox):
3019 (WebCore::LayerRendererSurface::transformedBounds):
3020 * platform/graphics/blackberry/LayerRendererSurface.h:
3021 (WebCore::LayerRendererSurface::setDrawTransform):
3022 (WebCore::LayerRendererSurface::setReplicaDrawTransform):
3023 (LayerRendererSurface):
3024 * platform/graphics/blackberry/LayerUtilities.h: Added.
3027 (WebCore::LayerClipPlane::LayerClipPlane):
3028 (WebCore::LayerClipPlane::isPointInside):
3029 (WebCore::LayerClipPlane::computeIntersection):
3030 (WebCore::intersect):
3031 (WebCore::boundingBox):
3032 (WebCore::multVecMatrix):
3033 (WebCore::toVector):
3035 2013-06-14 Allan Sandfeld Jensen <allan.jensen@digia.com>
3037 [Qt] Map rewind and fast forward keys to match GoogleTV
3038 https://bugs.webkit.org/show_bug.cgi?id=117634
3040 Reviewed by Jocelyn Turcotte.
3042 Set the same keycode for media keys rewind and fast-forward as
3045 * platform/qt/PlatformKeyboardEventQt.cpp:
3046 (WebCore::windowsKeyCodeForKeyEvent):
3048 2013-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
3050 Avoid unnecessary data copies when loading subresources with DoNotBufferData option
3051 https://bugs.webkit.org/show_bug.cgi?id=115804
3053 Reviewed by Darin Adler.
3055 When DoNotBufferData option is used to load a resource its data
3056 is always copied before sending it to the CachedResource. Most
3057 of the cached resources ignore the incremental data and wait
3058 until all data has been received to save the ResourceBuffer,
3059 that will be NULL anyway when DoNotBufferData is used.
3060 CachedRawResource notifies its clients about the incremental
3061 data, but it doesn't save the data when DoNotBufferData option
3062 is present. In those cases we are unnecessary copying the data.
3064 CachedResource::data has been split into
3065 CachedResource::addDataBuffer() used for incremental data chunks
3066 when buffering data, CachedResource::addData() used for
3067 incremental data chunks when not buffering and
3068 CachedResource::finishLoading() used to finish the loading. This
3069 way we get rid of the allDataReceived boolean parameter and cached
3070 resources not interested in incremenetal data chunks only have to
3071 implement finishLoading() without having to check if all data have
3072 been received or not.
3074 SubresourceLoader::sendDataToResource was always called after
3075 checking if loading multipart content, and then it was checked
3076 again to decided whether to copy the data or not. It has been
3077 removed in favor of calling directly the resource methods,
3078 finishLoading for multipart content, addDataBuffer for data chunks
3079 when buffering and addData for data chunks when not buffering.
3081 No new functionality, covered by existing tests.
3083 * html/ImageDocument.cpp:
3084 (WebCore::ImageDocumentParser::appendBytes): Update to API changes.
3085 (WebCore::ImageDocumentParser::finish): Ditto.
3086 * loader/SubresourceLoader.cpp:
3087 (WebCore::SubresourceLoader::didReceiveResponse): Call
3088 finishLoading() for multipart content.
3089 (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Add data to
3090 the resource using addDataBuffer or addData depending on whether
3091 we are buffering or not.
3092 (WebCore::SubresourceLoader::didFinishLoading): Call
3093 finishLoading() for the cached resource instead of data.
3094 * loader/SubresourceLoader.h:
3095 * loader/cache/CachedCSSStyleSheet.cpp:
3096 (WebCore::CachedCSSStyleSheet::finishLoading):
3097 * loader/cache/CachedCSSStyleSheet.h:
3098 * loader/cache/CachedFont.cpp:
3099 (WebCore::CachedFont::finishLoading):
3100 * loader/cache/CachedFont.h:
3101 * loader/cache/CachedImage.cpp:
3102 (WebCore::CachedImage::isValidDecodedImageSize): Helper function
3103 to check if the image size is valid.
3104 (WebCore::CachedImage::addIncrementalDataBuffer): Helper function
3105 to add incremental data buffer.
3106 (WebCore::CachedImage::addDataBuffer): Call
3107 addIncrementalDataBuffer().
3108 (WebCore::CachedImage::addData): Create a ResourceBuffer and call
3109 addIncrementalDataBuffer().
3110 (WebCore::CachedImage::finishLoading):
3111 * loader/cache/CachedImage.h:
3112 * loader/cache/CachedRawResource.cpp:
3113 (WebCore::CachedRawResource::calculateIncrementalDataChunk):
3114 Returns a pointer to the data corresponding to the current chunk
3116 (WebCore::CachedRawResource::addDataBuffer): Assert to make sure
3117 this is only called when BufferData option is present. Use
3118 calculateIncrementalDataChunk().
3119 (WebCore::CachedRawResource::addData): Assert to make sure this is
3120 only called when DoNotBufferData option is present.
3121 (WebCore::CachedRawResource::finishLoading):
3122 (WebCore::CachedRawResource::notifyClientsDataWasReceived): Helper
3123 private function to notify the clients about data received.
3124 * loader/cache/CachedRawResource.h:
3125 * loader/cache/CachedResource.cpp:
3126 (WebCore::CachedResource::addDataBuffer):
3127 (WebCore::CachedResource::addData):
3128 (WebCore::CachedResource::finishLoading):
3129 * loader/cache/CachedResource.h:
3130 * loader/cache/CachedSVGDocument.cpp:
3131 (WebCore::CachedSVGDocument::finishLoading):
3132 * loader/cache/CachedSVGDocument.h:
3133 * loader/cache/CachedScript.cpp:
3134 (WebCore::CachedScript::finishLoading):
3135 * loader/cache/CachedScript.h:
3136 * loader/cache/CachedShader.cpp:
3137 (WebCore::CachedShader::finishLoading):
3138 * loader/cache/CachedShader.h:
3139 * loader/cache/CachedTextTrack.cpp:
3140 (WebCore::CachedTextTrack::addDataBuffer):
3141 (WebCore::CachedTextTrack::finishLoading):
3142 * loader/cache/CachedTextTrack.h:
3143 * loader/cache/CachedXSLStyleSheet.cpp:
3144 (WebCore::CachedXSLStyleSheet::finishLoading):
3145 * loader/cache/CachedXSLStyleSheet.h:
3147 2013-06-14 Michał Pakuła vel Rutka <m.pakula@samsung.com>
3149 [EFL] Fix build when DRAG_SUPPORT is set OFF
3150 https://bugs.webkit.org/show_bug.cgi?id=117628
3152 Reviewed by Gyuyoung Kim.
3154 Add guard around Clipboard::declareAndWriteDragImage.
3156 * platform/efl/ClipboardEfl.cpp:
3158 2013-06-13 Simon Fraser <simon.fraser@apple.com>
3160 Sometimes we stick in slow scrolling mode even after leaving a page
3161 https://bugs.webkit.org/show_bug.cgi?id=117622
3163 Reviewed by Sam Weinig.
3165 ScrollingCoordinator, and thus the scrolling state tree, is owned by Page,
3166 and so persists when navigating between cached pages. We do give the ScrollingStateTree
3167 a new ScrollingStateScrollingNode on navigation, however the ScrollingStateScrollingNode
3168 would not have dirty flags set for, say, WheelEventHandlerCount if the document had
3169 no wheel handlers. And because that dirty flag wasn't set, ScrollingTree::commitNewTreeState()
3170 would fail to update m_hasWheelEventHandlers, so we'd remain in slow scrolling.
3172 Fix by having ScrollingStateTree remember if it's been given a new root ScrollingStateScrollingNode,
3173 and making ScrollingTree::commitNewTreeState() to the right thing in that case.
3175 Also fix a couple of issues with the tiled scrolling indicator. First, on cached page
3176 navigation, the indicator color would show the state for the old page, because
3177 ScrollingCoordinatorMac::commitTreeState() checked scrollingTree()->hasWheelEventHandlers()
3178 before the scrolling thread has committed the new scrolling tree.
3180 Second, the color change would animate, so stop that.
3182 Not testable, since tests can only dump the scrolling state tree.
3184 * page/scrolling/ScrollingStateTree.cpp:
3185 (WebCore::ScrollingStateTree::ScrollingStateTree):
3186 (WebCore::ScrollingStateTree::attachNode):
3187 (WebCore::ScrollingStateTree::commit):
3188 * page/scrolling/ScrollingStateTree.h:
3189 (WebCore::ScrollingStateTree::hasNewRootStateNode):
3190 * page/scrolling/ScrollingTree.cpp:
3191 (WebCore::ScrollingTree::commitNewTreeState):
3192 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3193 (WebCore::ScrollingCoordinatorMac::commitTreeState):
3194 * platform/graphics/ca/mac/TileController.mm:
3195 (-[WebTiledScrollingIndicatorLayer init]): Turn off borderColor implicit animations.
3197 2013-06-13 Peter Gal <galpeter@inf.u-szeged.hu>
3199 [curl] Merge http response header values
3200 https://bugs.webkit.org/show_bug.cgi?id=117342
3202 Reviewed by Brent Fulgham.
3204 According to the HTTP RFC some HTTP header values should be
3205 merged if multiple entries for the same header exists.
3207 * platform/network/curl/ResourceHandleManager.cpp:
3208 (WebCore::isAppendableHeader):
3209 (WebCore::headerCallback):
3211 2013-06-13 Simon Fraser <simon.fraser@apple.com>
3213 Should not call firePaintRelatedMilestones() for "update control tints" paint pass
3214 https://bugs.webkit.org/show_bug.cgi?id=117624
3216 Reviewed by Sam Weinig.
3218 When window activation changes, we do a fake paint pass that is just used to
3219 invalidate controls that change their appearance in background windows. This fake
3220 paint should not be recorded in the inspector, and it should not cause paint-related
3223 * page/FrameView.cpp:
3224 (WebCore::FrameView::paintContents):
3226 2013-06-13 Dean Jackson <dino@apple.com>
3228 Clicking on snapshotting plug-ins does not restart them
3229 https://bugs.webkit.org/show_bug.cgi?id=117620
3230 <rdar://problem/13821729>
3232 Reviewed by Simon Fraser.
3234 HTMLPlugInElement has an event handler which would return
3235 immediately if the element was not snapshotted, restarting
3236 or playing. There is a case it missed, which was snapshotting
3237 (WaitingForSnapshot to be precise). If we get a click in this
3238 state then it should immediately restart.
3240 * html/HTMLPlugInElement.h: Move defaultEventHandler to public (we call it from the child class).
3241 * html/HTMLPlugInImageElement.cpp:
3242 (WebCore::HTMLPlugInImageElement::defaultEventHandler): If there is a click on a snapshotting
3243 plug-in, then call restart.
3244 * html/HTMLPlugInImageElement.h: Virtual defaultEventHandler declaration.
3246 2013-06-13 Zoltan Horvath <zoltan@webkit.org>
3248 Use borderAndPadding[Before,After]() instead of border[Before,After]() + padding[Before,After]()
3249 https://bugs.webkit.org/show_bug.cgi?id=117611
3251 Reviewed by Dirk Schulze.
3253 I added a new function called borderAndPaddingAfter(), since we already had borderAndPaddingBefore(). I changed
3254 every separate additions to the old/new function. This change makes the code shorter and more straightforward.
3256 Behavior hasn't changed, no new tests were needed.
3258 * rendering/InlineFlowBox.cpp:
3259 (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3260 * rendering/RenderBlock.cpp:
3261 (WebCore::RenderBlock::layoutBlock):
3262 (WebCore::RenderBlock::marginBeforeEstimateForChild):
3263 (WebCore::RenderBlock::layoutBlockChildren):
3264 (WebCore::RenderBlock::paintColumnRules):
3265 (WebCore::RenderBlock::columnRectAt):
3266 (WebCore::RenderBlock::relayoutForPagination):
3267 (WebCore::RenderBlock::adjustRectForColumns):
3268 (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
3269 (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
3270 (WebCore::RenderBlock::adjustForColumns):
3271 * rendering/RenderBlockLineLayout.cpp:
3272 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):
3273 (WebCore::RenderBlock::layoutInlineChildren):
3274 * rendering/RenderBoxModelObject.h:
3275 (WebCore::RenderBoxModelObject::borderAndPaddingStart):
3276 (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
3277 (WebCore::RenderBoxModelObject::borderAndPaddingAfter):
3278 (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
3279 * rendering/RenderMultiColumnBlock.cpp:
3280 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3281 * rendering/RenderMultiColumnSet.cpp:
3282 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
3283 (WebCore::RenderMultiColumnSet::prepareForLayout):
3284 (WebCore::RenderMultiColumnSet::columnRectAt):
3285 * rendering/RenderTableCell.cpp:
3286 (WebCore::RenderTableCell::computeIntrinsicPadding):
3287 (WebCore::RenderTableCell::cellBaselinePosition):
3288 * rendering/RenderTableSection.cpp:
3289 (WebCore::RenderTableSection::calcRowLogicalHeight):
3290 (WebCore::RenderTableSection::layoutRows):
3291 (WebCore::RenderTableSection::firstLineBoxBaseline):
3292 * rendering/RootInlineBox.cpp:
3293 (WebCore::RootInlineBox::lineSnapAdjustment):
3294 (WebCore::RootInlineBox::selectionTop):
3295 (WebCore::RootInlineBox::ascentAndDescentForBox):
3297 2013-06-13 Andreas Kling <akling@apple.com>
3299 Move Node::shouldUseInputMethod() to Element.
3300 <http://webkit.org/b/117603>
3302 Reviewed by Antti Koivisto.
3304 This method is only ever called on Elements, so move it off of Node.
3307 (WebCore::Element::shouldUseInputMethod):
3311 * html/HTMLInputElement.h:
3312 * html/HTMLTextAreaElement.h:
3314 2013-06-13 Max Vujovic <mvujovic@adobe.com>
3316 [CSS Regions] Selection dragged from a region paints its background
3317 https://bugs.webkit.org/show_bug.cgi?id=117607
3319 Reviewed by Alexandru Chiculita.
3321 When a RenderFlowThread is in the selection paint phase, tell its layer to paint with the
3322 selection only behavior. This way, only foregrounds and not backgrounds will be painted in
3323 the dragged selection.
3325 Manual test: ManualTests/regions/drag-selection-painting.html
3327 * rendering/RenderFlowThread.cpp:
3328 (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
3330 2013-06-13 Zoltan Horvath <zoltan@webkit.org>
3332 [CSS Shapes][CSS Regions] Respect bottom positioned shapes and content adjustment inside shapes
3333 https://bugs.webkit.org/show_bug.cgi?id=117599
3335 Reviewed by David Hyatt.
3337 In r150478 I added support for multiple positioned shape-insides on regions, this patch covers the cases when a shape
3338 is positioned to the bottom of the region or the region contains a shape which forces the content to be adjusted inside
3339 the shape (e.g. we have a triangle shape and the first line needs to be started at the first position where it fits).
3340 I introduced a new helper function to update the current shape and the current line segments in the flow thread cases. With
3341 this new helper function all the logic which calculates the segments for shape-inside on regions is located in one function.
3343 Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html
3344 fast/regions/shape-inside/shape-inside-on-regions-block-content-polygon-with-adjustment.html
3345 fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html
3346 fast/regions/shape-inside/shape-inside-on-regions-inline-content-polygon-with-adjustment.html
3348 * rendering/RenderBlock.h: Add new helper's declaration
3349 * rendering/RenderBlockLineLayout.cpp:
3350 (WebCore::LineLayoutState::LineLayoutState): Add a member to carry adjustment for flow thread cases.
3351 (WebCore::LineLayoutState::adjustedLogicalLineTop): Add new member.
3352 (WebCore::LineLayoutState::setAdjustedLogicalLineTop): Add new setter for the new member.
3353 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Move flow thread case to its helper function.
3354 (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread): Added new helper for flow thread cases.
3355 (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): Save adjustment for flow thread cases.
3357 2013-06-13 Mihai Tica <mitica@adobe.com>
3359 [CSS Background Blending] Enable CSS Background blending for layers with SVGs.
3361 The change implies adding the blending parameter for SVGImage
3362 https://bugs.webkit.org/show_bug.cgi?id=117588
3364 Reviewed by Dirk Schulze.
3366 Tests: css3/compositing/background-blend-mode-image-svg.html
3367 css3/compositing/background-blend-mode-svg-color.html
3369 * svg/graphics/SVGImage.cpp:
3370 (WebCore::SVGImage::draw):
3372 2013-06-13 Mihai Tica <mitica@adobe.com>
3374 Updating the -webkit-background-blend-mode property dynamically does not trigger a redraw of the element.
3376 Adding krit's fix: actual blending values should be compared, not the sets.
3377 https://bugs.webkit.org/show_bug.cgi?id=117223
3379 Reviewed by Dirk Schulze.
3381 Test: css3/compositing/background-blend-mode-image-color-dynamic.html
3383 * rendering/style/FillLayer.cpp:
3384 (WebCore::FillLayer::operator==):
3386 2013-06-13 Beth Dakin <bdakin@apple.com>
3388 Headers and footers should be pinned to the left edge of the window when scrolling
3389 horizontally, even when zoomed
3390 https://bugs.webkit.org/show_bug.cgi?id=117562
3392 <rdar://problem/14006745>
3394 Reviewed by Sam Weinig.
3396 We really want to use the width value from scrollOffsetForFixedPosition() for the
3397 banner with a scaled factor of 1. So if there is a different scale factor, re-
3398 compute this value specifically for the banners.
3399 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3400 (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
3402 2013-06-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
3404 Support byte and octet types in bindings generators
3405 https://bugs.webkit.org/show_bug.cgi?id=117547
3407 Reviewed by Kentaro Hara.
3409 Add support for byte and octet IDL types to the bindings
3411 http://dev.w3.org/2006/webapi/WebIDL/#idl-byte
3412 http://dev.w3.org/2006/webapi/WebIDL/#idl-octet
3414 No new tests, covered by existing layout tests and by new
3417 No new tests, covered by bindings tests and:
3418 fast/js/webidl-type-mapping.html
3420 * WebCore.exp.in: Export new symbols for mac port.
3421 * bindings/js/JSDOMBinding.cpp:
3422 * bindings/js/JSDOMBinding.h: Add toInt8() / toUInt8()
3423 methods to convert from JSValue to int8_t / uint8_t as
3424 specified by Web IDL.
3426 * bindings/js/JSDataViewCustom.cpp: Remove custom code for
3427 getInt8, getUInt8, setInt8, setUInt8 now that byte and octet
3428 types are supported by the bindings generator.
3430 * bindings/scripts/CodeGeneratorCPP.pm:
3431 * bindings/scripts/CodeGeneratorGObject.pm:
3432 * bindings/scripts/CodeGeneratorJS.pm:
3433 * bindings/scripts/CodeGeneratorObjC.pm:
3434 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3435 * bindings/scripts/test/CPP/WebDOMTestObj.h:
3436 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3437 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3438 * bindings/scripts/test/JS/JSTestObj.cpp:
3439 * bindings/scripts/test/JS/JSTestObj.h:
3440 * bindings/scripts/test/ObjC/DOMTestObj.h:
3441 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3442 * bindings/scripts/test/TestObj.idl: Add tests for byte and octet types.
3443 * html/canvas/DataView.idl: Remove [Custom] extended attribute for
3444 getInt8, getUInt8, setInt8, setUInt8 and use newly supported byte / octet
3447 2013-06-13 Timothy Hatcher <timothy@apple.com>
3449 Revert r150339 since it causes a hang while paused in the Web Inspector in other apps.
3451 https://bugs.webkit.org/show_bug.cgi?id=117596
3453 Reviewed by Joseph Pecoraro.
3455 * platform/mac/EventLoopMac.mm:
3456 (WebCore::EventLoop::cycle):
3458 2013-06-13 Brent Fulgham <bfulgham@apple.com>
3460 [Windows] Unreviewed gardening. Remove dangling 'strings' folder from solution.
3462 * WebCore.vcxproj/WebCore.vcxproj.filters: Get rid of 'strings' that was orphaned by
3463 recent file reorganization.
3465 2013-06-13 Praveen R Jadhav <praveen.j@samsung.com>
3467 Avoid unwanted thread hops in ScriptProcessorNode when 'onaudioprocess' listener is not set.
3468 https://bugs.webkit.org/show_bug.cgi?id=117578.
3470 Reviewed by Darin Adler.
3472 ScriptProcessorNode process operation continues to dispatch AudioProcessingEvent
3473 even though 'onaudioprocess' listener is not set. This results in unwanted thread hops.
3474 Code is optimized to dispatch AudioProcessingEvent only if the listener is set.
3476 No new tests, already covered by existing tests.
3478 * Modules/webaudio/ScriptProcessorNode.cpp:
3479 (WebCore::ScriptProcessorNode::ScriptProcessorNode):
3480 (WebCore::ScriptProcessorNode::process):
3481 (WebCore::ScriptProcessorNode::setOnaudioprocess):
3482 * Modules/webaudio/ScriptProcessorNode.h:
3483 (WebCore::ScriptProcessorNode::onaudioprocess):
3485 2013-06-13 Max Vujovic <mvujovic@adobe.com>
3487 [CSS Regions] -webkit-background-clip: text; does not clip the background in regions
3488 https://bugs.webkit.org/show_bug.cgi?id=117566
3490 Reviewed by Alexandru Chiculita.
3492 This patch enables -webkit-background-clip: text; on regions.
3494 Test: fast/regions/webkit-background-clip-text.html
3496 * rendering/RenderFlowThread.cpp:
3497 (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
3498 Force black text if we're in the text clip paint phase. This makes sure the text's alpha
3499 channel does not affect the final opacity of the background clipping result. Rather,
3500 the text's alpha channel affects the amount of blending between the text color
3502 * rendering/RenderRegion.cpp:
3503 (WebCore::shouldPaintRegionContentsInPhase):
3504 Factor out a function to check if we should paint the region contents in a particular
3505 phase. Add "PaintPhaseTextClip" so that we draw the contents in the text clipping phase.
3506 (WebCore::RenderRegion::paintObject):
3507 Call shouldPaintRegionContentsInPhase instead of doing the phase checks directly in this
3508 function. Move, update, and clarify the surrounding comments.
3510 2013-06-13 Anton Obzhirov <a.obzhirov@samsung.com>
3512 [CSS Regions] Regions auto-height and absolute positioning bug
3513 https://bugs.webkit.org/show_bug.cgi?id=111092
3515 Reviewed by David Hyatt.
3517 During last layout that should update the auto-height regions new auto-height region height
3518 is calculated correctly based on the text content, but it requires extra step
3519 to reposition the render block after new logical height is set (correct logical height becomes
3520 available only during last layout).
3522 Tests: fast/regions/autoheight-abspos-bottom-align.html
3524 * rendering/RenderRegion.cpp:
3525 (WebCore::RenderRegion::updateLogicalHeight):
3527 2013-06-13 Brent Fulgham <bfulgham@webkit.org>
3529 [WinCairo] Unreviewed build correction.
3531 * WebCore.vcxproj/WebCoreCairo.props: Use proper WebKit_Libraries
3532 environment variable, rather than older WebKitLibraries.
3534 2013-06-13 Christophe Dumez <ch.dumez@sisa.samsung.com>
3536 Avoid duplicate isInt32() / isUInt32() checks in JSDOMBindings
3537 https://bugs.webkit.org/show_bug.cgi?id=117593
3539 Reviewed by Geoffrey Garen.
3541 Avoid duplicate isInt32() / isUInt32() checks in JSDOMBindings by
3542 calling asInt32() / asUInt32() instead of toInt32() / toUInt32()
3543 when we already know the value is a int32 / uint32.
3545 No new tests, no behavior change.
3547 * bindings/js/JSDOMBinding.cpp:
3549 2013-06-13 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
3551 Setting overflow:hidden on position:absolute does not repaint hidden content
3552 https://bugs.webkit.org/show_bug.cgi?id=116994
3554 Reviewed by Simon Fraser.
3556 Since a container which has overflow clip of RenderBox which has self painting layer doesn't have a rect of the RenderBox as visual overflow,
3557 the container should not clip request repainting rect of the RenderBox.
3559 Test: fast/repaint/change-overflow-and-display-of-relative.html
3561 * rendering/RenderBox.cpp:
3562 (WebCore::RenderBox::computeRectForRepaint):
3563 * rendering/RenderLayerModelObject.cpp:
3564 (WebCore::RenderLayerModelObject::shouldUseClipForRepaint): If this has self painting layer, we should not clip for repaint.
3565 * rendering/RenderLayerModelObject.h:
3567 2013-06-13 Mihai Tica <mitica@adobe.com>
3569 [CSS Background Blending] Gradients don't blend with any of the layers behind.
3570 First, allow the layers behind opaque gradients to be drawn, then add the blending filters
3571 when working with gradients.
3573 https://bugs.webkit.org/show_bug.cgi?id=117532
3575 Reviewed by Dirk Schulze.
3577 Tests: css3/compositing/background-blend-mode-gradient-color.html
3578 css3/compositing/background-blend-mode-gradient-gradient.html
3579 css3/compositing/background-blend-mode-gradient-image.html
3580 css3/compositing/background-blend-mode-multiple-background-layers.html
3582 * platform/graphics/GeneratorGeneratedImage.cpp:
3583 (WebCore::GeneratorGeneratedImage::draw):
3584 * rendering/RenderBox.cpp:
3585 (WebCore::RenderBox::paintFillLayers):
3587 2013-06-13 Michael Brüning <michael.bruning@digia.com>
3589 [Qt][Mac] Disable QTKit video on OS X.
3590 https://bugs.webkit.org/show_bug.cgi?id=117591
3592 Reviewed by Tor Arne Vestbø.
3594 Deployment of the same Qt binaries to different
3595 Mac OS X version makes it impossible to link against
3596 the correct WebKitSystemInterface version at build time.
3598 No new tests, no behavioural change.
3602 2013-06-13 Morten Stenshorne <mstensho@opera.com>
3604 Column balancing support in the region based multicol implementation
3605 https://bugs.webkit.org/show_bug.cgi?id=116033
3607 Start by setting the column height to the flow thread's height divided
3608 by the number of columns. Then stretch the column height until
3609 contents fits without creating overflowing columns, or until the
3610 maximum allowed column height is reached, whichever comes first. This
3611 may require several layout iterations (but normally only a
3612 couple). For each time we stretch, stretch by the least amount
3613 required to make a difference to which box goes where.
3615 Also make sure that the columns get tall enough to honor orphans
3616 and widows settings.
3618 This change takes some tiny steps in preparing for multiple column
3619 set support. There is also some minor cleanup and bugfixing; see
3622 Reviewed by David Hyatt.
3624 Tests: fast/multicol/newmulticol/balance-images.html
3625 fast/multicol/newmulticol/balance-maxheight1.html
3626 fast/multicol/newmulticol/balance-maxheight2.html
3627 fast/multicol/newmulticol/balance1.html
3628 fast/multicol/newmulticol/balance2.html
3629 fast/multicol/newmulticol/balance3.html
3630 fast/multicol/newmulticol/balance4.html
3631 fast/multicol/newmulticol/balance5.html
3632 fast/multicol/newmulticol/balance6.html
3633 fast/multicol/newmulticol/balance7.html
3634 fast/multicol/newmulticol/balance8.html
3635 fast/multicol/newmulticol/balance9.html
3636 fast/multicol/newmulticol/cell-shrinkback.html
3637 fast/multicol/newmulticol/columns-shorthand-parsing.html
3638 fast/multicol/newmulticol/orphans-and-widows-balance.html
3639 fast/multicol/newmulticol/single-line.html
3641 * rendering/RenderBlock.cpp:
3642 (WebCore::RenderBlock::adjustForUnsplittableChild):
3643 (WebCore::RenderBlock::setPageBreak):
3645 (WebCore::RenderBlock::updateMinimumPageHeight):
3646 (WebCore::calculateMinimumPageHeight):
3647 (WebCore::RenderBlock::adjustLinePositionForPagination):
3648 (WebCore::RenderBlock::adjustBlockChildForPagination): If no lines
3649 cross the boundaries, we need to report where blocks cross
3650 instead, so that the column balancer knows how much to stretch
3651 columns if necessary.
3652 * rendering/RenderBlock.h:
3653 * rendering/RenderFlowThread.h:
3654 * rendering/RenderMultiColumnBlock.cpp:
3655 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3656 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
3657 (WebCore::RenderMultiColumnBlock::relayoutForPagination):
3658 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3659 * rendering/RenderMultiColumnBlock.h:
3660 (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
3661 (WebCore::RenderMultiColumnBlock::requiresBalancing):
3662 (RenderMultiColumnBlock):
3663 * rendering/RenderMultiColumnFlowThread.cpp:
3664 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
3665 (WebCore::RenderMultiColumnFlowThread::setPageBreak):
3667 (WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
3668 * rendering/RenderMultiColumnFlowThread.h:
3669 (RenderMultiColumnFlowThread):
3670 * rendering/RenderMultiColumnSet.cpp: Get rid of
3671 RenderMultiColumnSet::updateLogicalHeight() override. Make
3672 RenderMultiColumnSet behave more like normal blocks, by having
3673 computeLogicalHeight() calculate logical top in addition to
3674 height, just like any other block.
3675 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3676 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset): This
3677 method will become more meaningful once we add support for
3678 multiple column sets.
3680 (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset):
3681 (WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
3682 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
3683 (WebCore::RenderMultiColumnSet::recordSpaceShortage):
3684 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
3685 (WebCore::RenderMultiColumnSet::prepareForLayout):
3686 (WebCore::RenderMultiColumnSet::computeLogicalHeight):
3687 (WebCore::RenderMultiColumnSet::columnCount):
3688 (WebCore::RenderMultiColumnSet::columnIndexAtOffset):
3689 repaintFlowThreadContent() could end up in an infinite loop
3690 because columnIndexAtOffset() could return UINT_MAX
3691 (subtracting 1 from unsigned 0, which columnCount() could return),
3692 which an unsigned integer obviously can never become larger
3693 than. Also always call columnIndexAtOffset() if we want to get the
3694 column index for some offset, rather than doing it on our own
3695 sometimes. To make this work also during layout, we cannot just
3696 return the last column created so far if we're past it, since
3697 adding new columns is exactly what we want to do at this point.
3698 * rendering/RenderMultiColumnSet.h:
3699 (RenderMultiColumnSet):
3701 2013-06-12 Anders Carlsson <andersca@apple.com>
3703 Remove the notion of inactive plug-ins
3704 https://bugs.webkit.org/show_bug.cgi?id=117570
3705 <rdar://problem/13484213>
3707 Reviewed by Tim Horton.
3709 Remove RenderEmbeddedObject::PluginInactive and the replacement text.
3711 * English.lproj/Localizable.strings:
3712 * platform/LocalizedStrings.cpp:
3713 * platform/LocalizedStrings.h:
3714 * rendering/RenderEmbeddedObject.cpp:
3715 (WebCore::unavailablePluginReplacementText):
3716 * rendering/RenderEmbeddedObject.h:
3718 2013-06-12 Dean Jackson <dino@apple.com>
3720 [Mac] Change default Traditional Chinese serif font on 10.9
3721 https://bugs.webkit.org/show_bug.cgi?id=117568
3723 Reviewed by Alexey Proskuryakov.
3725 Change default font on newer versions of OS X.
3727 * page/mac/SettingsMac.mm:
3728 (WebCore::Settings::initializeDefaultFontFamilies): Use 'Songti TC'
3731 2013-06-12 Dean Jackson <dino@apple.com>
3733 [Mac] Change default Simplified Chinese serif font on 10.9
3734 https://bugs.webkit.org/show_bug.cgi?id=117567
3736 Reviewed by Alexey Proskuryakov.
3738 Change default font on newer versions of OS X.
3740 * page/mac/SettingsMac.mm:
3741 (WebCore::Settings::initializeDefaultFontFamilies): Use 'Songti SC'
3742 instead of 'STSong' on newer systems.
3744 2013-06-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3746 Fix crashes due to failed ImageBuffer allocation
3747 https://bugs.webkit.org/show_bug.cgi?id=117541
3749 Reviewed by Andreas Kling.
3751 From Blink r152268 by <pdr@chromium.org>
3753 A crash can happen due to a failed ImageBuffer allocation in
3754 SVGImage::drawPatternForContainer(). Added a check for that failed allocation.
3756 * svg/graphics/SVGImage.cpp:
3757 (WebCore::SVGImage::drawPatternForContainer):
3759 2013-06-12 Eduardo Lima Mitev <elima@igalia.com>
3761 [atk] Replace deprecated call to atk_document_get_locale() in DumpRenderTree
3762 https://bugs.webkit.org/show_bug.cgi?id=115647
3764 Reviewed by Martin Robinson.
3766 Override the get_object_locale() method of WebkitAccessibleWrapperAtk's internal
3767 AtkObject, to include custom implementations for AtkDocument and AtkText objects,
3768 taking the logic as-is from AtkDocument::get_document_locale() and DumpRenderTree's
3769 AccessibilityUIElementAtk::language(), respectively.
3771 Apart from improving encapsulation, this avoids calling deprecated get_document_locale()
3774 No new functionality, no new tests.
3776 * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
3777 (webkitAccessibleDocumentInterfaceInit): Chains implementation of
3778 AtkDocument::get_document_locale() to AtkObject::get_object_locale().
3779 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3780 (webkitAccessibleGetObjectLocale): Add implementation of locale resolution for
3781 objects of type AtkDocument and AtkText.
3782 (webkitAccessibleClassInit): Override AtkObject::get_object_locale() method.
3784 2013-06-12 Zan Dobersek <zdobersek@igalia.com>
3786 [GTK] Move more build targets for source code that's free of layer violations into libPlatform
3787 https://bugs.webkit.org/show_bug.cgi?id=115936
3789 Reviewed by Martin Robinson.
3791 No new tests - no new functionality.
3793 * GNUmakefile.list.am: Move more build targets under the platform_sources and platformgtk_sources listing.
3794 These build targets represent source files that are already free of platform layer violations and are as such
3795 ready to be pushed down from the WebCore layer into the Platform layer.
3797 2013-06-12 Ruth Fong <ruth_fong@apple.com>
3799 "Open Video in New Window" doesn't make sense in fullscreen
3800 https://bugs.webkit.org/show_bug.cgi?id=117556
3802 Reviewed by Beth Dakin.
3804 No new tests needed.
3806 * WebCore.exp.in: Added WebKit2 hook for mediaIsInFullscreen() method.
3808 2013-06-12 Ryosuke Niwa <rniwa@webkit.org>
3810 Accessibility code assumes an area element's parent is a map element
3811 https://bugs.webkit.org/show_bug.cgi?id=117496
3813 Reviewed by Chris Fleizach.
3815 We can't make such an assumption. Scripts can insert any element between area and map elements.
3817 Merge https://chromium.googlesource.com/chromium/blink/+/b6f486284f08c52904701c93e1ec0b7d6e76af9f.
3819 Test: accessibility/image-map-with-indirect-area-crash.html
3821 * accessibility/AccessibilityRenderObject.cpp:
3822 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
3824 2013-06-12 Robert Hogan <robert@webkit.org>
3826 Whitespace between inlines with nowrap and a shrink-to-fit parent gets a line-break when it shouldn't
3827 https://bugs.webkit.org/show_bug.cgi?id=117370
3829 Reviewed by David Hyatt.
3831 Test: fast/text/whitespace/inline-whitespace-wrapping-8.html
3833 A no-wrap inline shouldn't include trailing space when deciding whether it fits on a line.
3834 Likewise when we finish iterating through the objects on a line we should clear our linebreak
3835 if the only thing that prevents us fitting on the line is our collapsed trailing whitespace.
3837 Removing the trailing space from this measurement means we need to watch out for potential
3838 breaks between no-wrap inlines, in particular if we leave a no-wrap inline ignoring spaces
3839 and enter an autowrap inline then we need to mark the beginning of the autowrap inline
3840 as a potential linebreak. The test fast/text/whitespace/inline-whitespace-wrapping-5.html
3841 is an example of such a case.
3843 * rendering/RenderBlockLineLayout.cpp:
3844 (WebCore::LineWidth::LineWidth):
3845 (WebCore::LineWidth::fitsOnLine):
3846 (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
3847 (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
3848 (WebCore::LineWidth::setTrailingWhitespaceWidth):
3849 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3851 2013-06-12 Bem Jones-Bey <bjonesbe@adobe.com>
3853 [CSS Shapes] rectangle and inset-rectangle do not properly handle rx and ry
3854 https://bugs.webkit.org/show_bug.cgi?id=116745
3856 Reviewed by Dirk Schulze.
3858 If ry is not supplied, it now defaults to the rx value. Also, if rx
3859 and ry are not supplied, they default to 0px. This also has the effect
3860 that the computed style for any rectangle or inset-rectangle now
3861 contains all six parameters.
3863 If rx > width/2 then it is clamped to width/2, and if ry > height/2,
3864 then it is clamped to height/2. This happens at layout time because
3865 given mixed units and relative units, that is the only time this
3866 determination can be made.
3868 Tests: fast/exclusions/shape-inside/shape-inside-rounded-rectangle-large-radius.html
3869 fast/exclusions/shape-outside-floats/shape-outside-floats-rounded-rectangle-large-radius.html
3871 * css/BasicShapeFunctions.cpp:
3872 (WebCore::valueForBasicShape): Remove checks for undefined, since rx
3873 and ry cannot be undefined in BasicShapes anymore.
3874 (WebCore::basicShapeForValue): If radii are undefined in CSS, set
3875 default values in the BasicShape, per the spec.
3876 * rendering/ExclusionShape.cpp:
3877 (WebCore::ensureRadiiDoNotOverlap): Utility method to ensure radii
3879 (WebCore::ExclusionShape::createExclusionShape): Remove defaulting to
3880 zero, clamp radii per the spec.
3881 * rendering/style/BasicShapes.cpp:
3882 (WebCore::BasicShapeRectangle::path): Remove defaulting.
3883 (WebCore::BasicShapeRectangle::blend): Ditto.
3884 (WebCore::BasicShapeInsetRectangle::path): Ditto.
3885 (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3886 * rendering/style/BasicShapes.h:
3887 (WebCore::BasicShapeRectangle::BasicShapeRectangle): Remove defaulting
3888 to undefined for radii.
3889 (WebCore::BasicShapeRectangle::setCornerRadiusX): Add assert to
3891 (WebCore::BasicShapeRectangle::setCornerRadiusY): Add assert to
3893 (WebCore::BasicShapeInsetRectangle::BasicShapeInsetRectangle): Ditto.
3894 (WebCore::BasicShapeInsetRectangle::setCornerRadiusX): Add assert to
3896 (WebCore::BasicShapeInsetRectangle::setCornerRadiusY): Add assert to
3899 2013-06-11 Brent Fulgham <bfulgham@apple.com>
3901 [Windows] Support Title UI Element Accessibility Attribute
3902 https://bugs.webkit.org/show_bug.cgi?id=117530
3904 Reviewed by Anders Carlsson.
3906 Fixes: accessibility/list-item-role.html
3907 accessibility/hidden-legend.html
3909 * accessibility/win/AccessibilityObjectWrapperWin.cpp:
3910 (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Extend to support access
3911 for the Title UI Element object.
3912 * accessibility/win/AccessibilityObjectWrapperWin.h: Revise interface to use Variant output,
3913 which is more in keeping with the Mac's 'id' method signature.
3915 2013-06-12 Ralph Thomas <ralpht@gmail.com>
3917 [CSS Shaders] Animations and transitions should use validated custom programs
3918 https://bugs.webkit.org/show_bug.cgi?id=117550
3920 Run filters used for animations and transitions through RenderLayer::computeFilterOperations
3921 in order to validate custom filter operations.
3923 Reviewed by Alexandru Chiculita.
3925 No new tests as no platform can run custom filters with accelerated animations yet.
3927 * rendering/RenderLayerBacking.cpp:
3928 (WebCore::RenderLayerBacking::startAnimation):
3929 (WebCore::RenderLayerBacking::startTransition):
3931 2013-06-12 Ruth Fong <ruth_fong@apple.com>
3933 Allow for toggling fullscreen on <video> elements
3934 https://bugs.webkit.org/show_bug.cgi?id=117220
3936 Reviewed by Dean Jackson.
3938 This patch adds the ability for fullscreen
3939 context menu item on <video> elements to switch between "Enter Fullscreen"
3940 and "Exit Fullscreen" and behave appropriately.
3942 No new tests. media/context-menu-action.html,
3943 which has been disabled by bug 116651, is used to test context menus.
3945 * English.lproj/Localizable.strings: Add "Exit Fullscreen" string.
3946 * html/HTMLMediaElement.cpp:
3947 (WebCore::HTMLMediaElement::toggleFullscreenState): Added to appropriately enter/exit fullscreen.
3948 * html/HTMLMediaElement.h:
3949 * page/ContextMenuController.cpp:
3950 * platform/ContextMenuItem.h:
3951 * platform/LocalizedStrings.cpp:
3952 * platform/LocalizedStrings.h:
3953 Updated to rename variables more appropriately to reflect the toggle-ability of video fullscreen.
3954 * rendering/HitTestResult.cpp:
3955 (WebCore::HitTestResult::mediaIsInFullscreen): Added to check if an element
3956 was a media element in fullscreen.
3957 (WebCore::HitTestResult::toggleMediaFullscreenState): Added to hook into
3958 HTMLMediaElement::toggleFullscreenState.
3959 * rendering/HitTestResult.h:
3961 2013-06-12 Sergio Villar Senin <svillar@igalia.com>
3963 Skipping {}, () and [] blocks while error recovering in CSS
3964 https://bugs.webkit.org/show_bug.cgi?id=116071
3966 Reviewed by Darin Adler.
3968 From Blink r150201 and r150755 by <serya@chromium.org>
3970 Test: fast/css/parsing-expr-error-recovery.html
3972 The CSS parser should properly recover from invalid {}, () and []
3973 blocks skipping them instead of discarding the whole declaration
3974 as invalid. This merge is actually made of two different changes
3975 from Blink, the original one that fixes the bug and another one
3976 which refactors a bit the code making it more legible.
3978 * css/CSSGrammar.y.in:
3980 2013-06-12 Alberto Garcia <agarcia@igalia.com>
3982 [BlackBerry] Remove dead WebDOM code
3983 https://bugs.webkit.org/show_bug.cgi?id=113370
3985 Reviewed by Anders Carlsson.
3987 BlackBerry PR 347565
3988 Internally reviewed by Charles Wei.
3990 * PlatformBlackBerry.cmake:
3992 2013-06-12 Daniel Bates <dabates@apple.com>
3994 window.find() case-insensitive search doesn't match diacritical marks
3995 https://bugs.webkit.org/show_bug.cgi?id=117353
3996 <rdar://problem/8535227>
3998 Reviewed by Darin Adler.
4000 Currently, a case-insensitive window.find() search will return true for a word w
4001 (e.g. café) with diacritical characters when w appears on the page without
4002 diacritical marks (e.g. cafe). This leads to bad results, especially when
4003 searching for a non-English word (e.g. qué) where the presence of an accented
4004 character(s) may change the meaning of the word. Instead window.find() should
4005 return false when case-insensitively matching a word with diacritical marks to
4006 the same word without diacritical marks.