[iOS] Pass additional options to AVFoundation during playback.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
2
3         [iOS] Pass additional options to AVFoundation during playback.
4         https://bugs.webkit.org/show_bug.cgi?id=130624
5
6         Reviewed by Eric Carlson.
7
8         * html/HTMLMediaElement.cpp:
9         (WebCore::HTMLMediaElement::doesHaveAttribute): Return attribute value if the user
10         passes a pointer to fill in.
11         * html/HTMLMediaElement.h:
12         * platform/graphics/MediaPlayer.cpp:
13         (WebCore::MediaPlayer::doesHaveAttribute):
14         * platform/graphics/MediaPlayer.h:
15         (WebCore::MediaPlayerClient::doesHaveAttribute):
16         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
17         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Pass additional
18         option if supplied by user.
19
20 2014-03-25  Michael Saboff  <msaboff@apple.com>
21
22         Unreviewed, rolling out r166070.
23
24         Rollout r166070 due to 2% performance loss in page load times
25
26         Reverted changeset:
27
28         "Change CodeGeneratorJS.pm special cases for "DOMWindow" to be
29         general purpose"
30         https://bugs.webkit.org/show_bug.cgi?id=130553
31         http://trac.webkit.org/changeset/166070
32
33 2014-03-25  Michael Saboff  <msaboff@apple.com>
34
35         Unreviewed, rolling out r166126.
36
37         Rollout r166126 in prepartion to roll out prerequisite r166070
38
39         Reverted changeset:
40
41         "toThis() on a JSWorkerGlobalScope should return a JSProxy and
42         not undefined"
43         https://bugs.webkit.org/show_bug.cgi?id=130554
44         http://trac.webkit.org/changeset/166126
45
46 2014-03-25  Jer Noble  <jer.noble@apple.com>
47
48         [iOS] Playing video does not disable display sleep.
49         https://bugs.webkit.org/show_bug.cgi?id=130729
50
51         Reviewed by Eric Carlson.
52
53         DisplaySleepDisabler was broken by r161589, which replaced the iOS implementation with
54         an empty one. Make a platform independent version with a Cocoa-platform subclass. Update
55         the APIs to non-deprecated ones.
56
57         * platform/DisplaySleepDisabler.cpp: Added.
58         (WebCore::DisplaySleepDisabler::create):
59         * platform/DisplaySleepDisabler.h: Added.
60         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
61         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
62         * platform/cocoa/DisplaySleepDisablerCocoa.cpp: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
63         (WebCore::DisplaySleepDisabler::create):
64         (WebCore::DisplaySleepDisablerCocoa::DisplaySleepDisablerCocoa):
65         (WebCore::DisplaySleepDisablerCocoa::~DisplaySleepDisablerCocoa):
66         * platform/cocoa/DisplaySleepDisablerCocoa.h: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
67
68         Update m_sleepDisabler to be a std::unique_ptr, and unprotect the definition of methods which use it.
69         * html/HTMLMediaElement.cpp:
70         (WebCore::HTMLMediaElement::updateSleepDisabling):
71         (WebCore::HTMLMediaElement::shouldDisableSleep):
72         * html/HTMLMediaElement.h:
73
74         Add the new and renamed files to the project:
75         * CMakeLists.txt:
76         * GNUmakefile.list.am:
77         * WebCore.xcodeproj/project.pbxproj:
78
79 2014-03-25  Dirk Schulze  <krit@webkit.org>
80
81         Implement ImageData constructors and WebWorkers exposure
82         https://bugs.webkit.org/show_bug.cgi?id=130668
83
84         Reviewed by Dean Jackson.
85
86         Add new constructors for ImageData.
87
88         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
89
90         Test: fast/canvas/canvas-imageData.html
91
92         * html/ImageData.cpp: 
93         (WebCore::ImageData::create):
94         * html/ImageData.h:
95         * html/ImageData.idl:
96
97 2014-03-25  Myles C. Maxfield  <mmaxfield@apple.com>
98
99         InlineIterator position (unsigned int) variable can wrap around
100         https://bugs.webkit.org/show_bug.cgi?id=130540
101
102         Reviewed by Simon Fraser.
103
104         We trigger an ASSERT that occurs when we are ignoring spaces (to collapse them
105         into a single whitespace mark) but then encounter a line break. Because we don't ignore
106         the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
107         we want to ignore that first space as well (so as not to push the text away from the right
108         edge). We do this by decrementing the InlineIterator pointing to this first space, so all
109         the spaces get ignored. However, if that space is the first character in a Text node, the
110         decrement will try to go past the beginning of the node, and trigger an ASSERT.
111
112         This design is not great. At some point we should rework it to more elegantly handle
113         collapsing whitespace in both RTL and LTR writing modes.
114
115         This patch adds an ASSERT earlier in this codepath to catch potential problems earlier.
116         It also pulls our sentinel value out into a separate boolean to make it more clear what is
117         going on.
118
119         Test: fast/text/whitespace-only-text-in-rtl.html
120
121         * rendering/InlineIterator.h:
122         (WebCore::InlineIterator::moveTo): Use the set***() calls
123         (WebCore::InlineIterator::setOffset): ASSERT early that our math hasn't wrapped
124         * rendering/RenderBlockLineLayout.cpp:
125         (WebCore::RenderBlockFlow::appendRunsForObject): Use new boolean value
126         * rendering/line/BreakingContextInlineHeaders.h:
127         (WebCore::BreakingContext::handleText): Guard against wraps
128         (WebCore::checkMidpoints): Use new boolean value
129         * rendering/line/TrailingObjects.cpp:
130         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Use new boolean value
131
132 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
133
134         [GTK] Remove the autotools build
135         https://bugs.webkit.org/show_bug.cgi?id=130717
136
137         Reviewed by Anders Carlsson.
138
139         * GNUmakefile.am: Removed.
140         * bindings/gobject/GNUmakefile.am: Removed.
141         * config.h: Removed references to autotools configure file.
142
143 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
144
145         Prevent 'removetrack' events from firing when all inband text tracks are removed.
146         https://bugs.webkit.org/show_bug.cgi?id=130704
147
148         Reviewed by Eric Carlson.
149
150         Test: media/track/track-remove-track.html
151
152         Based on the Blink change (patch by acolwell@chromium.org):
153         https://codereview.chromium.org/177243018/
154
155         * html/HTMLMediaElement.cpp:
156         (WebCore::HTMLMediaElement::prepareForLoad): Reorder steps to match W3C specification.
157         (WebCore::HTMLMediaElement::noneSupported): Forget tracks as required by specification.
158         (WebCore::HTMLMediaElement::mediaLoadingFailed): Forget tracks as required by specification.
159         (WebCore::HTMLMediaElement::removeTextTrack): Only request the 'removetracks' event if
160         requested by caller.
161         (WebCore::HTMLMediaElement::removeAllInbandTracks): Renamed to 'forgetResourceSpecificTracks'
162         (WebCore::HTMLMediaElement::noneSupported): Specify that we want the 'removetracks' event
163         fired for this use case.
164         (WebCore::HTMLMediaElement::prepareForLoad): Switch to new 'forgetResourceSpecificTracks' name.
165         * html/HTMLMediaElement.h:
166         * html/track/TextTrackList.cpp:
167         (TextTrackList::remove): Only fire the 'removetrack' event if the caller requests it.
168         * html/track/TextTrackList.h: Add default argument to fire the 'removetrack' event
169         when removing a track.
170         * html/track/TrackListBase.cpp:
171         (TrackListBase::remove): Only fire the 'removetrack' event if the caller requests it.
172         * html/track/TrackListBase.h: Add default argument to fire the 'removetrack' event.
173
174 2014-03-25  David Kilzer  <ddkilzer@apple.com>
175
176         Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
177         <http://webkit.org/b/130713>
178         <rdar://problem/15661876>
179
180         Reviewed by Darin Adler.
181
182         Merged from Blink (patch by Ian Beer):
183         http://crbug.com/303657
184         https://src.chromium.org/viewvc/blink?view=rev&revision=158938
185
186         Test: fast/forms/form-submission-crash-successful-submit-button.html
187
188         * html/HTMLFormElement.cpp:
189         (WebCore::HTMLFormElement::submit):
190
191 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
192
193         [ARM64] GNU assembler fails in TransformationMatrix::multiply
194         https://bugs.webkit.org/show_bug.cgi?id=130454
195
196         Reviewed by Zoltan Herczeg.
197
198         Change the NEON intstructions to the proper style.
199
200         * platform/graphics/transforms/TransformationMatrix.cpp:
201         (WebCore::TransformationMatrix::multiply):
202
203 2014-03-20  Sergio Villar Senin  <svillar@igalia.com>
204
205         [CSS Grid Layout] Vertical rectangles not considered as valid grid areas
206         https://bugs.webkit.org/show_bug.cgi?id=130513
207
208         Reviewed by Andreas Kling.
209
210         Grid areas sized as vertical rectangles were incorrectly
211         considered as invalid by the parser. That's because the condition
212         checking that each new row was adjacent to the previous one was
213         using the first row of the currently parsed grid area instead of
214         the last one.
215
216         Test: fast/css-grid-layout/grid-template-areas-get-set.html
217
218         * css/CSSParser.cpp:
219         (WebCore::CSSParser::parseGridTemplateAreas):
220
221 2014-03-25  Xabier Rodriguez Calvar  <calvaris@igalia.com>
222
223         [GTK] Volume slider shows below the panel with videos in certain cases
224         https://bugs.webkit.org/show_bug.cgi?id=130608
225
226         Reviewed by Jer Noble.
227
228         We need to delay the moment we check if the volume slider shows up
229         or down. If the video was not visible, the offsets were 0 and it
230         was forced to be shown below the panel.
231
232         Test: media/video-initially-hidden-volume-slider-up.html
233
234         * Modules/mediacontrols/mediaControlsApple.js:
235         (Controller.prototype.createControls): Moved volumebox pseudo from
236         the subclass. The test checks for it and it would fail in Mac.
237         * Modules/mediacontrols/mediaControlsGtk.js:
238         (ControllerGtk.prototype.createControls): Moved volumebox pseudo
239         to the superclass.
240         (ControllerGtk.prototype.handleMuteButtonMouseOver): Check if
241         volume slider should show up or down.
242         (ControllerGtk.prototype.updateReadyState): Removed check for
243         volume slider direction.
244
245 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
246
247         [Win] Enable WebVTT Regions on Windows.
248         https://bugs.webkit.org/show_bug.cgi?id=130680
249
250         Reviewed by Eric Carlson.
251
252         * DerivedSources.cpp: Add new build components.
253         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
254         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
255
256 2014-03-24  Simon Fraser  <simon.fraser@apple.com>
257
258         Remove some unnecessary includes from PlatformCALayerClient.h
259         https://bugs.webkit.org/show_bug.cgi?id=130703
260
261         Reviewed by Andreas Kling.
262         
263         No need for all these #includes.
264
265         * platform/graphics/ca/PlatformCALayerClient.h:
266
267 2014-03-24  Adenilson Cavalcanti  <cavalcantii@gmail.com>
268
269         [core] FEGaussianBlur: use IntSize to simplify member function interface
270         https://bugs.webkit.org/show_bug.cgi?id=130695
271
272         Reviewed by Dean Jackson.
273
274         By returning an IntSize to store the calculated kernel size values
275         it is possible to have less function parameters. This patch also
276         streamlines a bit the code in calculateUnscaledKernelSize.
277
278         No new tests, no change in behavior.
279
280         * platform/graphics/filters/FEDropShadow.cpp:
281         (WebCore::FEDropShadow::determineAbsolutePaintRect):
282         * platform/graphics/filters/FEGaussianBlur.cpp:
283         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
284         (WebCore::FEGaussianBlur::calculateKernelSize):
285         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
286         (WebCore::FEGaussianBlur::platformApplySoftware):
287         * platform/graphics/filters/FEGaussianBlur.h:
288         (if): Deleted.
289         * platform/graphics/filters/FilterOperations.cpp:
290         (WebCore::outsetSizeForBlur):
291
292 2014-03-24  Brian Burg  <bburg@apple.com>
293
294         Web Replay: capture and replay keyboard events
295         https://bugs.webkit.org/show_bug.cgi?id=130314
296
297         Reviewed by Joseph Pecoraro.
298
299         Upstream support for capturing and replaying non-IME keyboard input.
300         This works similarly to mouse events. It introduces optional fields and
301         macros to encode/decode them.
302
303         Test: ManualTests/inspector/replay-keyboard-events.html
304
305         * replay/ReplayInputDispatchMethods.cpp:
306         (WebCore::HandleKeyPress::dispatch):
307         * replay/SerializationMethods.cpp:
308         (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
309         (JSC::EncodingTraits<NondeterministicInputBase>::decodeValue): Switch existing
310         encode/decode calls to use the shortening macros.
311         (JSC::EncodingTraits<KeypressCommand>::encodeValue): Added.
312         (JSC::EncodingTraits<KeypressCommand>::decodeValue): Added.
313         (JSC::PlatformKeyboardEventAppKit::PlatformKeyboardEventAppKit): Subclass
314         PlatformKeyboardEvent so that we can set AppKit-specific members not
315         initialized through the main constructors.
316         (JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Added.
317         (JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue): Added.
318         * replay/SerializationMethods.h:
319         * replay/UserInputBridge.cpp:
320         (WebCore::UserInputBridge::UserInputBridge): initialize m_state inside a guard.
321         (WebCore::UserInputBridge::handleKeyEvent): fill in the implementation.
322         * replay/WebInputs.json:
323
324 2014-03-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
325
326         Optimizing string construction for type error in JSNavigatorCustom.cpp
327         https://bugs.webkit.org/show_bug.cgi?id=130683
328
329         Reviewed by Eric Carlson.
330
331         * bindings/js/JSNavigatorCustom.cpp:
332         (WebCore::JSNavigator::webkitGetUserMedia):
333
334 2014-03-24  Beth Dakin  <bdakin@apple.com>
335
336         Legacy-style scrollbars constantly redraw after scrolling
337         https://bugs.webkit.org/show_bug.cgi?id=130699
338
339         Reviewed by Simon Fraser.
340
341         The constant re-draw was happening because we were never calling [ScrollbarPainter 
342         setUsePresentationValue:NO]. This is a silly bug where were should have been 
343         looking at PlatformWheelEvent::momentumPhase() instead of 
344         PlatformWheelEvent::phase()
345
346         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
347         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
348
349 2014-03-24  Daniel Bates  <dabates@apple.com>
350
351         XSS Auditor doesn't block <script> injected before an existing <script>
352         https://bugs.webkit.org/show_bug.cgi?id=130475
353
354         Merged from Blink (patch by Tom Sepez):
355         https://src.chromium.org/viewvc/blink?view=rev&revision=169697
356
357         Tests: http/tests/security/xssAuditor/script-tag-expression-follows.html
358                http/tests/security/xssAuditor/script-tag-near-start.html
359
360         * html/parser/XSSAuditor.cpp:
361         (WebCore::startsHTMLCommentAt):
362         (WebCore::startsSingleLineCommentAt):
363         (WebCore::startsMultiLineCommentAt):
364         (WebCore::startsOpeningScriptTagAt):
365         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
366
367 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
368
369         Activate WebVTT Tests Once Merging is Complete
370         https://bugs.webkit.org/show_bug.cgi?id=130420
371
372         Reviewed by Eric Carlson.
373
374         * Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)
375
376 2014-03-24  Anders Carlsson  <andersca@apple.com>
377
378         Re-fix the build.
379
380         * WebCore.exp.in:
381
382 2014-03-24  Anders Carlsson  <andersca@apple.com>
383
384         Fix build.
385
386         * WebCore.exp.in:
387         Move a CFNetwork only symbol inside the USE(CFNETWORK) section.
388
389 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
390
391         Regression: AX: Don't expose role or notifications for invalid menus
392         https://bugs.webkit.org/show_bug.cgi?id=129814
393
394         Reviewed by Mario Sanchez Prada.
395
396         If a role=menu has no menuitem children, it should not be a menu.
397         This was a bit tricky to implement since we need to update the role after the children are created,
398         but it means we have to be a bit more aggressive about when to updateChildren, so that the role
399         is known to be valid.
400
401         Test: platform/mac/accessibility/invalid-menu-role-does-not-send-notification.html
402
403         * accessibility/AXObjectCache.cpp:
404         (WebCore::AXObjectCache::notificationPostTimerFired):
405         * accessibility/AccessibilityRenderObject.cpp:
406         (WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
407         (WebCore::AccessibilityRenderObject::addChildren):
408         * accessibility/AccessibilityRenderObject.h:
409         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
410         (-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
411
412 2014-03-24  Andy Estes  <aestes@apple.com>
413
414         [iOS] Download support by CFURLDownloadRef under USE(CFNETWORK).
415         https://bugs.webkit.org/show_bug.cgi?id=129322
416
417         Reviewed by Anders Carlsson.
418
419         * platform/network/ResourceHandle.h:
420         * platform/network/cf/ResourceHandleCFNet.cpp:
421         (WebCore::ResourceHandle::releaseConnectionForDownload): Changed to
422         return a RetainPtr that adopts the connection's retain count.
423
424 2014-03-24  Enrica Casucci  <enrica@apple.com>
425
426         Update Hindi fallback font.
427         https://bugs.webkit.org/show_bug.cgi?id=130690
428         <rdar://problem/16391601>
429
430         Reviewed by Sam Weinig.
431
432         Using the new available font for Hindi in the fallback list.
433
434         * platform/graphics/ios/FontCacheIOS.mm:
435         (WebCore::FontCache::systemFallbackForCharacters):
436
437 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
438
439         Merge Minor WebVTT Cleanups from Blink
440         https://bugs.webkit.org/show_bug.cgi?id=130681
441
442         Reviewed by Eric Carlson.
443
444         Merged from Blink (patch by philipj@opera.com):
445         https://chromium.googlesource.com/chromium/blink/+/693eb5e2933dca0eab5bbd604e9f3406fe9fd1ab
446         http://crbug.com/52593009
447         https://chromium.googlesource.com/chromium/blink/+/40b3602feab34e9be829fd742b6ad6ded322a09f
448         http://crbug.com/104243003
449
450         * html/track/TextTrack.cpp:
451         (WebCore::TextTrack::setMode):
452         * html/track/TextTrack.idl:
453         * html/track/TextTrackCue.h:
454         * html/track/VTTCue.cpp:
455         (WebCore::VTTCue::VTTCue):
456         * html/track/VTTCue.h:
457
458 2014-03-24  Commit Queue  <commit-queue@webkit.org>
459
460         Unreviewed, rolling out r166169.
461         https://bugs.webkit.org/show_bug.cgi?id=130682
462
463         This patch broke tests on Apple Mavericks (Requested by fredw
464         on #webkit).
465
466         Reverted changeset:
467
468         "Operator stretching: expose a math data API"
469         https://bugs.webkit.org/show_bug.cgi?id=130572
470         http://trac.webkit.org/changeset/166169
471
472 2014-03-24  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
473
474         ENABLE(CSS_GRID_LAYOUT) guard for CSSGridLineNamesValue
475         https://bugs.webkit.org/show_bug.cgi?id=130669
476
477         Reviewed by Sergio Villar Senin.
478
479         No new tests. No new functionality.
480
481         * css/CSSGridLineNamesValue.cpp:
482         * css/CSSGridLineNamesValue.h:
483
484 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
485
486         <hr> should expose AXRole/AXSubrole, etc
487         https://bugs.webkit.org/show_bug.cgi?id=109015
488
489         Reviewed by Mario Sanchez Prada.
490
491         Expose the <hr> element to Mac and iOS through the accessibility interface.
492
493         Test: platform/mac/accessibility/hr-element.html
494
495         * English.lproj/Localizable.strings:
496         * accessibility/AccessibilityNodeObject.cpp:
497         (WebCore::AccessibilityNodeObject::isEnabled):
498         * accessibility/AccessibilityObject.cpp:
499         (WebCore::AccessibilityObject::computedRoleString):
500         * accessibility/AccessibilityRenderObject.cpp:
501         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
502         * accessibility/atk/AccessibilityObjectAtk.cpp:
503         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
504         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
505         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
506         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
507         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
508         (createAccessibilityRoleMap):
509         (-[WebAccessibilityObjectWrapper subrole]):
510         (-[WebAccessibilityObjectWrapper roleDescription]):
511         * platform/LocalizedStrings.cpp:
512         (WebCore::AXHorizontalRuleDescriptionText):
513         * platform/LocalizedStrings.h:
514
515 2014-03-24  Antti Koivisto  <antti@apple.com>
516
517         Invalidate sibling text node style when needed instead of attaching synchronously
518         https://bugs.webkit.org/show_bug.cgi?id=130590
519
520         Reviewed by Andreas Kling.
521         
522         Make things simpler.
523
524         * style/StyleResolveTree.cpp:
525         (WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
526         
527             Just invalidate instead of calling attach directly.
528             Rename to match.
529
530         (WebCore::Style::textRendererIsNeeded):
531         (WebCore::Style::createTextRendererIfNeeded):
532         
533             Move all testing to textRendererIsNeeded.
534
535         (WebCore::Style::updateTextRendererAfterContentChange):
536         
537             Call resolveTextNode instead of re-implementing the same thing.
538
539         (WebCore::Style::resolveLocal):
540         (WebCore::Style::resolveTextNode):
541         
542             Avoid unnecessary reattaching.
543             Rename for consistency.
544
545         (WebCore::Style::resolveShadowTree):
546         (WebCore::Style::resolveTree):
547         
548 2014-03-24  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
549
550         Fix !ENABLE(VIDEO) build
551         https://bugs.webkit.org/show_bug.cgi?id=130671
552
553         Reviewed by Eric Carlson.
554
555         Add missing ENABLE(VIDEO) guards because many functions use
556         the newly guarded functions.
557
558         * testing/Internals.cpp:
559         * testing/Internals.h:
560         * testing/Internals.idl:
561
562 2014-03-24  Antti Koivisto  <antti@apple.com>
563
564         Text autosizing does not determine line count correctly for simple line layout
565         https://bugs.webkit.org/show_bug.cgi?id=130673
566
567         Reviewed by Daniel Bates.
568         
569         We don't count lines correctly in simple line layout case.
570
571         * page/Frame.cpp:
572         (WebCore::Frame::textAutosizingWidth):
573         (WebCore::Frame::setTextAutosizingWidth):
574         * page/ios/FrameIOS.mm:
575         (WebCore::Frame::textAutosizingWidth): Deleted.
576         (WebCore::Frame::setTextAutosizingWidth): Deleted.
577         
578             Move to Frame.cpp to make enabling on non-iOS build easier.
579
580         * rendering/RenderBlockFlow.cpp:
581         (WebCore::RenderBlockFlow::lineCount):
582         
583             Handle simple line layout case.
584
585         (WebCore::RenderBlockFlow::lineCountForTextAutosizing):
586             
587             Call lineCount() if children are inline.
588             Rename for clarity.
589
590         (WebCore::RenderBlockFlow::adjustComputedFontSizes):
591         (WebCore::RenderBlockFlow::immediateLineCount): Deleted.
592         * rendering/RenderBlockFlow.h:
593
594 2014-03-24  Frédéric Wang  <fred.wang@free.fr>
595
596         [regression] background colors do not apply to <mo> elements.
597         https://bugs.webkit.org/show_bug.cgi?id=130470.
598
599         Test: mathml/presentation/tokenElements-background-color.html
600
601         * rendering/mathml/RenderMathMLOperator.cpp:
602         (WebCore::RenderMathMLOperator::paint): always call the parent painting to draw the background.
603         (WebCore::RenderMathMLOperator::paintChildren): move the special case for invisible operator here.
604
605 2014-03-24  Frédéric Wang  <fred.wang@free.fr>
606
607         Operator stretching: expose a math data API
608         https://bugs.webkit.org/show_bug.cgi?id=130572
609
610         Reviewed by Chris Fleizach.
611
612         We expose a new SimpleFontData API to give access to the data from the
613         OpenType MATH table using a font cache. The class OpenTypeMathData will
614         be implemented in bug 130324. On Darwin platform, we also implement the
615         missing FontPlatformData::openTypeTable function which will be necessary
616         to load the OpenType MATH table. The changes are intended to be used
617         for MathML operator stretching (bug 130322) so tests are not added yet.
618
619         * CMakeLists.txt: add new OpenTypeMathData files.
620         * GNUmakefile.list.am: ditto.
621         * WebCore.vcxproj/WebCore.vcxproj: ditto.
622         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
623         * WebCore.xcodeproj/project.pbxproj: ditto.
624         * platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
625         We make the math and vertical data share the same key for the cache.
626         (WebCore::fontMathDataCacheInstance):
627         (WebCore::FontCache::getMathData):
628         (WebCore::fontVerticalDataCacheInstance):
629         * platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
630         * platform/graphics/FontPlatformData.cpp:
631         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
632         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
633         * platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
634         (WebCore::SimpleFontData::SimpleFontData):
635         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
636         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
637         (WebCore::OpenTypeMathData::OpenTypeMathData):
638         * platform/graphics/opentype/OpenTypeMathData.h: Added.
639         (WebCore::OpenTypeMathData::create):
640         (WebCore::OpenTypeMathData::hasMathData):
641
642 2014-03-24  Jon Lee  <jonlee@apple.com>
643
644         Build fixes.
645
646         Unreviewed.
647
648         * editing/ios/EditorIOS.mm:
649         (WebCore::Editor::writeSelectionToPasteboard): Convert to reference.
650
651 2014-03-24  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
652
653         ENABLE(VIDEO_TRACK) guard for CSSParserSelector::parsePseudoCueFunctionSelector
654         https://bugs.webkit.org/show_bug.cgi?id=130666
655
656         Reviewed by Andreas Kling.
657
658         No new tests. No new functionality.
659
660         * css/CSSParserValues.cpp:
661         (WebCore::CSSParserSelector::parsePseudoCueFunctionSelector): Deleted.
662
663 2014-03-24  Javier Fernandez  <jfernandez@igalia.com>
664
665         [CSS Grid Layout] Update named <grid-line> syntax to the last version of the specs
666         https://bugs.webkit.org/show_bug.cgi?id=129041
667
668         Reviewed by Sergio Villar Senin.
669
670         From Blink r162555 by <svillar@igalia.com>
671
672         Names for grid lines are now specified as a list of whitespace separated
673         idents enclosed in parentheses instead of as a list of strings.
674
675         Updated tests to match the new <grid-line> syntax.
676
677         * CMakeLists.txt:
678         * GNUmakefile.list.am:
679         * WebCore.xcodeproj/project.pbxproj: Added info of the new file for the CSSGridLineNamesValue class.
680         * css/CSSComputedStyleDeclaration.cpp:
681         (WebCore::addValuesForNamedGridLinesAtIndex): The named <grid-line> value is now a list.
682         * css/CSSGrammar.y.in: New syntax for named <grid-line>.
683         * css/CSSGridLineNamesValue.cpp: Added.
684         (WebCore::CSSGridLineNamesValue::customCSSText): String representation of the named <grid-line> as a list of Strings.
685         (WebCore::CSSGridLineNamesValue::CSSGridLineNamesValue): Constructor.
686         (WebCore::CSSGridLineNamesValue::cloneForCSSOM): Ref counted cloning function.
687         * css/CSSGridLineNamesValue.h: Added.
688         (WebCore::CSSGridLineNamesValue::create): Ref counted constructor.
689         * css/CSSParser.cpp:
690         (WebCore::CSSParser::parseGridLineNames): It replaces the old parseGrdTrackNames.
691         (WebCore::CSSParser::parseGridTrackList): Using the new named <grid-line> syntax.
692         (WebCore::CSSParser::parseGridTrackRepeatFunction): Using the new named <grid-line> syntax.
693         * css/CSSParser.h:
694         * css/CSSParserValues.cpp:
695         (WebCore::destroy): Handling the case of CSSValue being CSSValueList intances.
696         (WebCore::CSSParserValue::createCSSValue): Handling the case of CSSValue being CSSValueList intances.
697         * css/CSSParserValues.h:
698         (WebCore::CSSParserValue::setFromValueList): Adds the named <grid-line> list to the CSSParserValueList instance.
699         * css/CSSValue.cpp:
700         (WebCore::CSSValue::equals): Handling the case of the new CSSGridLineNamesValue class.
701         (WebCore::CSSValue::cssText): Handling the case of the new CSSGridLineNamesValue class.
702         (WebCore::CSSValue::destroy): Handling the case of the new CSSGridLineNamesValue class.
703         * css/CSSValue.h:
704         (WebCore::CSSValue::isGridLineNamesValue): Type cast check for the new CSSGridLineNamesValue class.
705         * css/StyleResolver.cpp:
706         (WebCore::createGridTrackList): Using the new named <grid-line> syntax.
707
708 2014-03-23  Sam Weinig  <sam@webkit.org>
709
710         Convert WebHTMLConverter to C++
711         https://bugs.webkit.org/show_bug.cgi?id=130655
712
713         Reviewed by Andreas Kling.
714
715         - Mechanically converts the Objective-C class WebHTMLConverter, to the C++ HTMLConverter (lots of cleanup to follow).
716         - Removes unused members
717             - _standardFontFamily (never assigned to)
718             - _textSizeMultiplier (always exactly 1)
719             - _webViewTextSizeMultiplier (always exactly 0)
720             - _defaultFontSize (always exactly 12, changed to be constant)
721             - _minimumFontSize (always exactly 1, changed to be constant)
722             - _colorsForNodes (never assigned to)
723             - _indexingLimit (always exactly 0)
724             - _thumbnailLimit (always exactly 0)
725             - _flags.isIndexing (always false)
726             - _flags.isTesting (always false)
727
728         * editing/cocoa/HTMLConverter.mm:
729         (HTMLConverter::convert):
730         (HTMLConverter::HTMLConverter):
731         (HTMLConverter::~HTMLConverter):
732         (defaultParagraphStyle):
733         (_childrenForNode):
734         (HTMLConverter::_stringForNode):
735         (HTMLConverter::_getFloat):
736         (_webKitBundle):
737         (HTMLConverter::_elementIsBlockLevel):
738         (HTMLConverter::_elementHasOwnBackgroundColor):
739         (HTMLConverter::_blockLevelElementForNode):
740         (HTMLConverter::_colorForNode):
741         (HTMLConverter::_computedAttributesForElement):
742         (HTMLConverter::_attributesForElement):
743         (HTMLConverter::_newParagraphForElement):
744         (HTMLConverter::_newLineForElement):
745         (HTMLConverter::_newTabForElement):
746         (_WebMessageDocumentClass):
747         (HTMLConverter::_addAttachmentForElement):
748         (HTMLConverter::_addQuoteForElement):
749         (HTMLConverter::_addValue):
750         (HTMLConverter::_fillInBlock):
751         (HTMLConverter::_processMetaElementWithName):
752         (HTMLConverter::_processHeadElement):
753         (HTMLConverter::_enterElement):
754         (HTMLConverter::_addTableForElement):
755         (HTMLConverter::_addTableCellForElement):
756         (HTMLConverter::_processElement):
757         (HTMLConverter::_addMarkersToList):
758         (HTMLConverter::_exitElement):
759         (HTMLConverter::_processText):
760         (HTMLConverter::_traverseNode):
761         (HTMLConverter::_traverseFooterNode):
762         (HTMLConverter::_adjustTrailingNewline):
763         (HTMLConverter::_loadFromDOMRange):
764         (fileWrapperForURL):
765         (fileWrapperForElement):
766         (WebCore::attributedStringFromRange):
767         (WebCore::editingAttributedStringFromRange):
768
769 2014-03-23  Jinwoo Song  <jinwoo7.song@samsung.com>
770
771         Remove Dead Stores from editing directory
772         https://bugs.webkit.org/show_bug.cgi?id=130634
773
774         Reviewed by Darin Adler.
775
776         Remove Dead Stores from editing directory which assigning a value to a variable
777         and never reading that value.
778
779         * editing/ApplyStyleCommand.cpp:
780         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
781         * editing/markup.cpp:
782         (WebCore::createMarkupInternal):
783
784 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
785
786         Move all EFL typedefs into EflTypedefs.h.
787         https://bugs.webkit.org/show_bug.cgi?id=130511
788
789         Reviewed by Gyuyoung Kim.
790
791         * platform/FileSystem.h: Remove EFL typedefs.
792         * platform/Widget.h: Ditto.
793         * platform/efl/EflScreenUtilities.h: Ditto.
794         * platform/graphics/Icon.h: Ditto.
795         * platform/graphics/Image.h: Ditto.
796         * platform/graphics/IntPoint.h: Ditto.
797         * platform/graphics/IntRect.h: Ditto.
798         * platform/network/NetworkStateNotifier.h: Ditto.
799
800 2014-03-23  Sam Weinig  <sam@webkit.org>
801
802         Move HTMLConverter from platform/mac to editing/cocoa.
803
804         Rubber-stamped by Darin Adler.
805
806         * WebCore.xcodeproj/project.pbxproj:
807         * editing/cocoa: Added.
808         * editing/cocoa/HTMLConverter.h: Copied from platform/mac/HTMLConverter.h.
809         * editing/cocoa/HTMLConverter.mm: Copied from platform/mac/HTMLConverter.mm.
810         * platform/mac/HTMLConverter.h: Removed.
811         * platform/mac/HTMLConverter.mm: Removed.
812
813 2014-03-23  Sam Weinig  <sam@webkit.org>
814
815         Simplify the HTMLConverter interface (Part 2)
816         https://bugs.webkit.org/show_bug.cgi?id=130654
817
818         Reviewed by Darin Adler.
819
820         Switch HTMLConverter from using an Objective-C interface to C functions.
821
822         * WebCore.exp.in:
823         * editing/ios/EditorIOS.mm:
824         (WebCore::Editor::writeSelectionToPasteboard):
825         * editing/mac/EditorMac.mm:
826         (WebCore::Editor::dataSelectionForPasteboard):
827         (WebCore::Editor::writeSelectionToPasteboard):
828         * platform/ios/PasteboardIOS.mm:
829         * platform/mac/HTMLConverter.h:
830         * platform/mac/HTMLConverter.mm:
831         (WebCore::attributedStringFromRange):
832         (WebCore::editingAttributedStringFromRange):
833         * platform/mac/PasteboardMac.mm:
834
835 2014-03-23  Darin Adler  <darin@apple.com>
836
837         Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
838         https://bugs.webkit.org/show_bug.cgi?id=130653
839
840         Reviewed by Antti Koivisto.
841
842         * dom/ContainerNode.cpp: Moved the post-attach callback code from here to
843         StyleResolveTree.h/cpp.
844         * dom/ContainerNode.h: Ditto.
845
846         * dom/Document.cpp:
847         (WebCore::Document::recalcStyle): Use Style::PostResolutionCallbackDisabler instead of
848         PostAttachCallbackDisabler.
849
850         * dom/Element.h: Moved the post-attach callback code from here to StyleResolveTree.h/cpp.
851
852         * html/HTMLEmbedElement.cpp:
853         (WebCore::HTMLEmbedElement::parseAttribute): Simplified the code for typeAttr, turning
854         it into a 1-liner. Added a FIXME in codeAttr about the fact that it does not have the
855         code to trigger image loads. Changed srcAttr to call updateImageLoaderWithNewURLSoon to
856         do the image loading logic.
857
858         * html/HTMLFormControlElement.cpp:
859         (WebCore::HTMLFormControlElement::didAttachRenderers): Updated to use
860         Style::queuePostResolutionCallback and use a lambda instead of a function.
861         (WebCore::HTMLFormControlElement::didRecalcStyle): Ditto. Also added RefPtr instead
862         of just using wishful thinking to keep the object alive.
863         * html/HTMLFrameOwnerElement.cpp:
864         (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc): Ditto.
865
866         * html/HTMLObjectElement.cpp:
867         (WebCore::HTMLObjectElement::parseAttribute):: Simplified the code for typeAttr, turning
868         it into a 1-liner. Changed dataAttr to use updateImageLoaderWithNewURLSoon(). Also made
869         it call setNeedsWidgetUpdate(true) unconditionally after checking carefully to see that's
870         harmless if there is no renderer. Changed classidAttr to call setNeedsWidgetUpdate(true)
871         unconditionally and not set m_classId.
872         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use fastGetAttribute
873         instead of classId and descendantsOfType instead of getElementsByTagName.
874         (WebCore::HTMLObjectElement::hasValidClassId): Use fastGetAttribute instead of classId.
875         (WebCore::HTMLObjectElement::renderFallbackContent): Use imageLoader instead of m_imageLoader.
876
877         * html/HTMLObjectElement.h: Removed classId, since there is no reason to cache that
878         attribute in a data member. Rearranged header, making more private, and fixing some typos,
879         and doing a "using" instead of a function to disambiguate the inherited form functions.
880
881         * html/HTMLPlugInImageElement.cpp:
882         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize m_needsImageReload.
883         (WebCore::HTMLPlugInImageElement::createElementRenderer): Fixed some code that assumed the
884         first child of the shadow root is guaranteed to be an element.
885         (WebCore::HTMLPlugInImageElement::didRecalcStyle): Added. Calls the new
886         scheduleUpdateForAfterStyleResolution function.
887         (WebCore::HTMLPlugInImageElement::didAttachRenderers): Moved all the logic from this
888         function into scheduleUpdateForAfterStyleResolution. Also added a call through to the base
889         class; cleaner even though it's just an assertion.
890         (WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Added.
891         Schedules a call to updateAfterStyleResolution when needed.
892         (WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Added.
893         Combines updateWidgetIfNecessary and startLoadingImage, and also deals with the new
894         m_needsImageReload boolean in cases where no actual loading is done.
895         (WebCore::HTMLPlugInImageElement::removedFrom): Added. Do not delay the load event of
896         document once this element is removed, clears m_needsImageReload.
897         (WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Removed null check on oldDocument,
898         since m_needsDocumentActivationCallbacks can't be true if the old document was null.
899         (WebCore::is100Percent): Added helper to make function below more readable.
900         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Restructured the code a
901         bit. The part that attracted my attention was the local variable of type RenderBox, which
902         was named renderEmbeddedObject. Turns out the caller guarantees to only call this if there
903         is a renderer of type RenderEmbeddedObject, so depend on that.
904         (WebCore::HTMLPlugInImageElement::setNeedsImageReload): Added. When called with true, sets
905         the flag and triggers a style recalculation, and lets updateAfterStyleResolution do the rest.
906         When called with false, reverses the effects and stops delaying the load event.
907
908         * html/HTMLPlugInImageElement.h: Trimmed includes a bit. Made more members private.
909         Marked more function members final. Made a protected imageLoader function so that
910         m_imageLoader can be private. Added new protected function updateImageLoaderWithNewURLSoon,
911         as well as other new private functions. Made m_imageLoader be std::unique_ptr instead of
912         OwnPtr, and added m_needsImageReload.
913
914         * style/StyleResolveTree.cpp:
915         (WebCore::Style::needsPseudoElement): Fixed spelling error in the name of this function.
916         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Updated for name change.
917         (WebCore::Style::attachRenderTree): Update for new name of PostResolutionCallbackDisabler.
918         (WebCore::Style::updateBeforeOrAfterPseudoElement): Updated for name change.
919         (WebCore::Style::postResolutionCallbackQueue): Added.
920         (WebCore::Style::queuePostResolutionCallback): Added.
921         (WebCore::Style::suspendMemoryCacheClientCalls): Added. This is a side effect of the original
922         PostAttachCallbackDisabler that is now done in a cleaner way, using the callback queue, instead
923         of as a special case. It should not work for multiple documents across multiple pages instead of
924         only the outermost one.
925         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Added.
926         Calls suspendMemoryCacheClientCalls, but a FIXME tries to point out why that isn't so great.
927         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Added.
928         (WebCore::Style::postResolutionCallbacksAreSuspended): Added.
929
930         * style/StyleResolveTree.h: Added queuePostResolutionCallback and
931         postResolutionCallbacksAreSuspended. Also added PostResolutionCallbackDisabler, which should
932         eventually become a private implementation detail.
933
934 2014-03-23  Sam Weinig  <sam@webkit.org>
935
936         Simplify the HTMLConverter interface (Part 1)
937         https://bugs.webkit.org/show_bug.cgi?id=130654
938
939         Reviewed by Dan Bernstein.
940
941         Convert WebHTMLConverter's interface to only use class methods as the first
942         step of simplifying the interface. 
943
944         * editing/ios/EditorIOS.mm:
945         (WebCore::attributedStringForRange):
946         * editing/mac/EditorMac.mm:
947         (WebCore::attributedStringForRange):
948         * platform/mac/HTMLConverter.h:
949         * platform/mac/HTMLConverter.mm:
950         (+[WebHTMLConverter attributedStringFromRange:]):
951
952 2014-03-23  James Craig  <jcraig@apple.com>
953
954         Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
955         https://bugs.webkit.org/show_bug.cgi?id=130635
956
957         Reviewed by Timothy Hatcher.
958
959         Support for @aria-owns, @aria-controls, and @aria-flowto.
960
961         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
962
963         * inspector/InspectorDOMAgent.cpp:
964         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
965         * inspector/protocol/DOM.json:
966
967 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
968
969         Clean up #includes by geometry classes
970         https://bugs.webkit.org/show_bug.cgi?id=130645
971
972         Reviewed by Andreas Kling.
973
974         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
975         classes brings in a lot of additional headers. Fix by adding a new
976         GeometryUtilities file so that the basic files don't need Vector,
977         and including GeometryUtilities.h where necessary.
978         
979         Also forward declare PrintStream.h and only bring in the header
980         in implementation files.
981
982         * CMakeLists.txt:
983         * GNUmakefile.list.am:
984         * WebCore.vcxproj/WebCore.vcxproj:
985         * WebCore.vcxproj/WebCore.vcxproj.filters:
986         * WebCore.xcodeproj/project.pbxproj:
987         * css/CSSToStyleMap.h:
988         * html/HTMLCanvasElement.cpp:
989         * platform/cairo/WidgetBackingStoreCairo.h:
990         * platform/graphics/FloatPoint.cpp:
991         * platform/graphics/FloatPoint.h:
992         * platform/graphics/FloatRect.cpp:
993         * platform/graphics/FloatRect.h:
994         * platform/graphics/FloatSize.cpp:
995         * platform/graphics/FloatSize.h:
996         * platform/graphics/GeometryUtilities.cpp: Added.
997         (WebCore::findSlope):
998         (WebCore::findIntersection):
999         (WebCore::unionRect):
1000         (WebCore::mapRect):
1001         * platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
1002         * platform/graphics/IntPoint.h:
1003         * platform/graphics/IntRect.cpp:
1004         * platform/graphics/IntRect.h:
1005         * platform/graphics/IntSize.h:
1006         * platform/graphics/TextTrackRepresentation.h:
1007         * platform/graphics/Tile.h:
1008         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
1009         * platform/gtk/WidgetBackingStoreGtkX11.h:
1010         * rendering/RenderBoxModelObject.cpp:
1011         * rendering/RenderImage.cpp:
1012         * rendering/RenderObject.cpp:
1013
1014 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
1015
1016         Clean up #includes by geometry classes
1017         https://bugs.webkit.org/show_bug.cgi?id=130645
1018
1019         Reviewed by Andreas Kling.
1020
1021         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
1022         classes brings in a lot of additional headers. Fix by adding a new
1023         GeometryUtilities file so that the basic files don't need Vector,
1024         and including GeometryUtilities.h where necessary.
1025         
1026         Also forward declare PrintStream.h and only bring in the header
1027         in implementation files.
1028
1029         * CMakeLists.txt:
1030         * GNUmakefile.list.am:
1031         * WebCore.vcxproj/WebCore.vcxproj:
1032         * WebCore.vcxproj/WebCore.vcxproj.filters:
1033         * WebCore.xcodeproj/project.pbxproj:
1034         * css/CSSToStyleMap.h:
1035         * html/HTMLCanvasElement.cpp:
1036         * platform/cairo/WidgetBackingStoreCairo.h:
1037         * platform/graphics/FloatPoint.cpp:
1038         * platform/graphics/FloatPoint.h:
1039         * platform/graphics/FloatRect.cpp:
1040         * platform/graphics/FloatRect.h:
1041         * platform/graphics/FloatSize.cpp:
1042         * platform/graphics/FloatSize.h:
1043         * platform/graphics/GeometryUtilities.cpp: Added.
1044         (WebCore::findSlope):
1045         (WebCore::findIntersection):
1046         (WebCore::unionRect):
1047         (WebCore::mapRect):
1048         * platform/graphics/GeometryUtilities.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.h.
1049         * platform/graphics/IntPoint.h:
1050         * platform/graphics/IntRect.cpp:
1051         * platform/graphics/IntRect.h:
1052         * platform/graphics/IntSize.h:
1053         * platform/graphics/TextTrackRepresentation.h:
1054         * platform/graphics/Tile.h:
1055         * platform/gtk/WidgetBackingStoreGtkX11.h:
1056         * rendering/RenderBoxModelObject.cpp:
1057         * rendering/RenderImage.cpp:
1058         * rendering/RenderObject.cpp:
1059
1060 2014-03-22  Chang Shu  <cshu@webkit.org>
1061
1062         Replace deprecatedIsCollapsibleWhitespace with RenderStyle::isCollapsibleWhiteSpace in TextIterator.
1063         https://bugs.webkit.org/show_bug.cgi?id=130612.
1064
1065         Reviewed by Darin Adler.
1066
1067         Some layout tests are affected by this change but the new behavior should be correct.
1068
1069         * editing/TextIterator.cpp:
1070         (WebCore::TextIterator::handleTextNode):
1071         (WebCore::TextIterator::handleTextBox):
1072
1073 2014-03-22  Sam Weinig  <sam@webkit.org>
1074
1075         Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
1076         https://bugs.webkit.org/show_bug.cgi?id=130639
1077
1078         Reviewed by Darin Adler.
1079
1080         This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
1081
1082         - Removes gratuitous lookup of CSS properties that are known at compile time.
1083         - Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) 
1084           that will alway yield the same results.
1085         - Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
1086           but instead used the non-existent font-effect.
1087
1088         * platform/mac/HTMLConverter.mm:
1089         (HTMLConverterCaches::computedStylePropertyForElement):
1090         (HTMLConverterCaches::inlineStylePropertyForElement):
1091         (HTMLConverterCaches::propertyValueForNode):
1092         (-[WebHTMLConverter _stringForNode:property:]):
1093         (HTMLConverterCaches::floatPropertyValueForNode):
1094         (-[WebHTMLConverter _getFloat:forNode:property:]):
1095         (HTMLConverterCaches::isBlockElement):
1096         (HTMLConverterCaches::elementHasOwnBackgroundColor):
1097         (HTMLConverterCaches::colorPropertyValueForNode):
1098         (-[WebHTMLConverter _colorForNode:property:]):
1099         (-[WebHTMLConverter _computedAttributesForElement:]):
1100         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1101         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
1102         (-[WebHTMLConverter _addTableForElement:]):
1103         (-[WebHTMLConverter _addTableCellForElement:]):
1104         (-[WebHTMLConverter _processElement:tag:display:depth:]):
1105         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
1106         (-[WebHTMLConverter _processText:]):
1107         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
1108
1109 2014-03-22  Andreas Kling  <akling@apple.com>
1110
1111         Fix debug build.
1112
1113         * bindings/js/JSDOMBinding.h:
1114         (WebCore::createWrapper):
1115
1116 2014-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1117
1118         Add *final* keyword to NavigatorContentUtils class
1119         https://bugs.webkit.org/show_bug.cgi?id=130636
1120
1121         Reviewed by Darin Adler.
1122
1123         NavigatorContentUtils won't be used as a base class. So, added final keyword.
1124
1125         No new tests, no behavior changes.
1126
1127         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
1128
1129 2014-03-22  Andreas Kling  <akling@apple.com>
1130
1131         CREATE_DOM_WRAPPER doesn't need the ExecState.
1132         <https://webkit.org/b/130648>
1133
1134         Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
1135         that we need from the global object instead.
1136
1137         toJS() and toJSNewlyCreated() still take an ExecState, that needs
1138         to be dealt with separately since some of them have scary looking
1139         currentWorld() checks.
1140
1141         Reviewed by Darin Adler.
1142
1143         * bindings/js/JSAudioContextCustom.cpp:
1144         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1145         * bindings/js/JSBlobCustom.cpp:
1146         (WebCore::toJS):
1147         (WebCore::JSBlobConstructor::constructJSBlob):
1148         * bindings/js/JSCDATASectionCustom.cpp:
1149         (WebCore::toJSNewlyCreated):
1150         * bindings/js/JSCSSRuleCustom.cpp:
1151         (WebCore::toJS):
1152         * bindings/js/JSCSSValueCustom.cpp:
1153         (WebCore::toJS):
1154         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1155         (WebCore::toJS):
1156         * bindings/js/JSDOMBinding.h:
1157         (WebCore::createWrapper):
1158         (WebCore::wrap):
1159         (WebCore::createNewWrapper):
1160         * bindings/js/JSDocumentCustom.cpp:
1161         (WebCore::toJS):
1162         * bindings/js/JSElementCustom.cpp:
1163         (WebCore::toJSNewlyCreated):
1164         * bindings/js/JSEventCustom.cpp:
1165         (WebCore::toJS):
1166         * bindings/js/JSHTMLCollectionCustom.cpp:
1167         (WebCore::toJS):
1168         * bindings/js/JSHTMLTemplateElementCustom.cpp:
1169         (WebCore::JSHTMLTemplateElement::content):
1170         * bindings/js/JSIDBAnyCustom.cpp:
1171         (WebCore::toJS):
1172         * bindings/js/JSImageDataCustom.cpp:
1173         (WebCore::toJS):
1174         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
1175         (WebCore::toJS):
1176         * bindings/js/JSNodeCustom.cpp:
1177         (WebCore::createWrapperInline):
1178         * bindings/js/JSPerformanceEntryCustom.cpp:
1179         (WebCore::toJS):
1180         * bindings/js/JSRTCIceCandidateCustom.cpp:
1181         (WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
1182         * bindings/js/JSRTCPeerConnectionCustom.cpp:
1183         (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
1184         * bindings/js/JSRTCSessionDescriptionCustom.cpp:
1185         (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
1186         * bindings/js/JSSVGPathSegCustom.cpp:
1187         (WebCore::toJS):
1188         * bindings/js/JSStyleSheetCustom.cpp:
1189         (WebCore::toJS):
1190         * bindings/js/JSTextCustom.cpp:
1191         (WebCore::toJSNewlyCreated):
1192         * bindings/js/JSTextTrackCueCustom.cpp:
1193         (WebCore::toJS):
1194         * bindings/js/JSTouchCustom.cpp:
1195         (WebCore::toJSNewlyCreated):
1196         * bindings/js/JSTouchListCustom.cpp:
1197         (WebCore::toJSNewlyCreated):
1198         * bindings/js/JSTrackCustom.cpp:
1199         (WebCore::toJS):
1200         * bindings/scripts/CodeGeneratorJS.pm:
1201         (GenerateImplementation):
1202         * dom/make_names.pl:
1203         (printWrapperFunctions):
1204         (printWrapperFactoryCppFile):
1205         (printWrapperFactoryHeaderFile):
1206
1207 2014-03-22  Michael Saboff  <msaboff@apple.com>
1208
1209         toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
1210         https://bugs.webkit.org/show_bug.cgi?id=130554
1211
1212         Reviewed by Geoffrey Garen.
1213
1214         Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
1215         Added cast from JSProxy->target() if the jsCast<>() to the native object fails
1216         in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
1217         The original cast is needed for access to the local side of the worker, while the JSProxy
1218         cast is used on the remote side of a worker.
1219
1220         Test: fast/workers/worker-strict.html
1221
1222         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1223         (WebCore::toJSDedicatedWorkerGlobalScope):
1224         (WebCore::toJSSharedWorkerGlobalScope):
1225
1226         * bindings/js/WorkerScriptController.cpp:
1227         (WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
1228         the WorkerGlobalScope object as the this object to script evaluation.
1229
1230         * workers/DedicatedWorkerGlobalScope.idl:
1231         * workers/SharedWorkerGlobalScope.idl:
1232         * workers/WorkerGlobalScope.idl:
1233         Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
1234         getting the object to use for global evaluation.
1235
1236 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
1237
1238         Some #include hygiene in Node/Element etc
1239         https://bugs.webkit.org/show_bug.cgi?id=130642
1240
1241         Reviewed by Geoffrey Garen.
1242
1243         Clean up various #includes.
1244
1245         * accessibility/AccessibilityObject.h:
1246         * bindings/js/WebCoreTypedArrayController.h:
1247         * dom/Element.h:
1248         * dom/EventListenerMap.h:
1249         * dom/EventTarget.h:
1250         * dom/Node.h:
1251         * rendering/RenderObject.h:
1252         * rendering/svg/RenderSVGRoot.h:
1253
1254 2014-03-22  Simon Fraser  <simon.fraser@apple.com>
1255
1256         FloatRect.h on iOS should not suck in a system header
1257         https://bugs.webkit.org/show_bug.cgi?id=130641
1258
1259         Reviewed by Geoff Garen.
1260
1261         Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.
1262
1263         * platform/graphics/FloatRect.h:
1264
1265 2014-03-22  Dan Bernstein  <mitz@apple.com>
1266
1267         Fixed the iOS build.
1268
1269         Reviewed by Darin Adler.
1270
1271         * page/ios/FrameIOS.mm:
1272         (WebCore::Frame::interpretationsForCurrentRoot):
1273
1274 2014-03-22  Darin Adler  <darin@apple.com>
1275
1276         Remove String::deprecatedCharacters
1277         https://bugs.webkit.org/show_bug.cgi?id=126854
1278
1279         Reviewed by Sam Weinig.
1280
1281         * bindings/scripts/StaticString.pm:
1282         (GenerateStrings): Remove the code to generate the null m_copyData16 pointer.
1283
1284         * editing/TextIterator.cpp:
1285         (WebCore::SearchBuffer::prependContext): Changed to use the new append function in
1286         StringView.h and removed the one defined locally here.
1287
1288         * editing/VisibleUnits.cpp:
1289         (WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
1290         in StringView.h instead of using deprecatedCharacters.
1291         (WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
1292         Removed an append function defined locally here and use the one in StringView.h.
1293
1294         * editing/htmlediting.cpp:
1295         (WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.
1296
1297         * html/parser/HTMLToken.h:
1298         (WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
1299         of a const String&.
1300
1301         * loader/appcache/ManifestParser.cpp:
1302         (WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.
1303
1304         * page/EventSource.cpp:
1305         (WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
1306         Also added a comment about incorrect use of the decode function.
1307
1308         * page/ios/FrameIOS.mm:
1309         (WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
1310         Also use simpler new-style for loops.
1311
1312         * platform/LinkHash.cpp:
1313         (WebCore::visitedURLInline): Use the new append function and StringView::substring.
1314         (WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.
1315
1316         * platform/URL.cpp:
1317         (WebCore::findFirstOf): Chagned to take a StringView.
1318         (WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
1319         the future if it's needed elsewhere.
1320         (WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
1321         or consider replacing the one that takes const String& with just this one.
1322         (WebCore::appendEncodedHostname): Changed to take a StringView and use
1323         StringView::upconvertedCharacters.
1324         (WebCore::findHostnamesInMailToURL): Changed to take a StringView.
1325         (WebCore::findHostnameInHierarchicalURL): Ditto.
1326         (WebCore::encodeHostnames): Ditto.
1327         (WebCore::encodeRelativeString): Ditto.
1328
1329         * platform/graphics/StringTruncator.cpp:
1330         (WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.
1331
1332         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1333         (WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
1334         of on a UChar*.
1335         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.
1336
1337         * platform/text/TextCodecICU.cpp:
1338         (WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
1339         replace the backslashes with yen signs. Also optimize case where there are no backslashes.
1340
1341         * rendering/RenderListMarker.cpp:
1342         (WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).
1343
1344         * rendering/RenderText.cpp:
1345         (WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
1346         calling StringBuilder::deprecatedCharacters.
1347
1348         * rendering/RenderText.h: Removed deprecatedCharacters function.
1349
1350         * rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.
1351
1352         * rendering/svg/SVGInlineTextBox.cpp:
1353         (WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.
1354
1355         * rendering/svg/SVGTextMetrics.cpp:
1356         (WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
1357         (WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
1358         take a character pointer any more. Instead, extract the text and use the StringView version of
1359         the TextRun constructor.
1360         (WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
1361         update for above changes.
1362         * rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.
1363
1364         * rendering/svg/SVGTextMetricsBuilder.cpp:
1365         (WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
1366         (WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
1367         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
1368         (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
1369         for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.
1370
1371         * rendering/svg/SVGTextQuery.cpp:
1372         (WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
1373         (WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
1374         (WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
1375         (WebCore::calculateGlyphBoundaries): Ditto.
1376
1377         * xml/XPathFunctions.cpp:
1378         (WebCore::XPath::atomicSubstring): Added.
1379         (WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
1380         Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
1381         That function also uses characters8/16 rather than depreccatedCharacters.
1382
1383         * xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.
1384
1385         * xml/parser/XMLDocumentParserLibxml2.cpp:
1386         (WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
1387         (WebCore::parseAttributes): Ditto.
1388
1389 2014-03-22  Commit Queue  <commit-queue@webkit.org>
1390
1391         Unreviewed, rolling out r166118.
1392         https://bugs.webkit.org/show_bug.cgi?id=130640
1393
1394         Crashing things (Requested by weinig on #webkit).
1395
1396         Reverted changeset:
1397
1398         "Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
1399         properties"
1400         https://bugs.webkit.org/show_bug.cgi?id=130639
1401         http://trac.webkit.org/changeset/166118
1402
1403 2014-03-22  Sam Weinig  <sam@webkit.org>
1404
1405         Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
1406         https://bugs.webkit.org/show_bug.cgi?id=130639
1407
1408         Reviewed by Simon Fraser.
1409
1410         This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.
1411
1412         - Removes gratuitous lookup of CSS properties that are known at compile time.
1413         - Removes attempted use of non-supported CSS properties (font-effect and horizontal-align) 
1414           that will alway yield the same results.
1415         - Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
1416           but instead used the non-existent font-effect.
1417
1418         * platform/mac/HTMLConverter.mm:
1419         (HTMLConverterCaches::computedStylePropertyForElement):
1420         (HTMLConverterCaches::inlineStylePropertyForElement):
1421         (HTMLConverterCaches::propertyValueForNode):
1422         (-[WebHTMLConverter _stringForNode:property:]):
1423         (HTMLConverterCaches::floatPropertyValueForNode):
1424         (-[WebHTMLConverter _getFloat:forNode:property:]):
1425         (HTMLConverterCaches::isBlockElement):
1426         (HTMLConverterCaches::elementHasOwnBackgroundColor):
1427         (HTMLConverterCaches::colorPropertyValueForNode):
1428         (-[WebHTMLConverter _colorForNode:property:]):
1429         (-[WebHTMLConverter _computedAttributesForElement:]):
1430         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
1431         (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
1432         (-[WebHTMLConverter _addTableForElement:]):
1433         (-[WebHTMLConverter _addTableCellForElement:]):
1434         (-[WebHTMLConverter _processElement:tag:display:depth:]):
1435         (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
1436         (-[WebHTMLConverter _processText:]):
1437         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
1438
1439 2014-03-21  Simon Fraser  <simon.fraser@apple.com>
1440
1441         Don't flush compositing layers within FrameView::willPaintContents()
1442         https://bugs.webkit.org/show_bug.cgi?id=130627
1443         <rdar://problem/16368869>
1444
1445         Reviewed by Sam Weinig.
1446
1447         Remove the call to flushCompositingStateForThisFrame() here. We should
1448         have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
1449         Flushing during painting is actually harmful, since we could be inside
1450         a CA commit already, and creating or destroying layers via flushing is bad.
1451
1452         * page/FrameView.cpp:
1453         (WebCore::FrameView::willPaintContents):
1454
1455 2014-03-22  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
1456
1457         ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
1458         https://bugs.webkit.org/show_bug.cgi?id=127361
1459
1460         Huge numbers represented by the 'INF' value can not be used
1461         in CSS rules, so they make the assert fail. We have to make
1462         sure that the parsed property value is finite, otherwise
1463         the property will be dropped.
1464
1465         Test: fast/css/infinite-floating-value.html
1466
1467         * css/CSSValuePool.cpp:
1468         (WebCore::CSSValuePool::createValue):
1469
1470 2014-03-21  Zalan Bujtas  <zalan@apple.com>
1471
1472         Remove redundant friending from class Image.
1473         https://bugs.webkit.org/show_bug.cgi?id=130628
1474
1475         Reviewed by Simon Fraser.
1476
1477         Those friend classes are subclasses. No need to make them friend of their parent class.
1478
1479         No change in functionality.
1480
1481         * platform/graphics/Image.h:
1482
1483 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
1484
1485         [iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
1486         https://bugs.webkit.org/show_bug.cgi?id=130555
1487
1488         Reviewed by Simon Fraser.
1489
1490         * WebCore.exp.in:
1491         * platform/ScrollView.h:
1492         * platform/graphics/ca/mac/TileController.mm:
1493         (WebCore::TileController::computeTileCoverageRect):
1494         * platform/ios/ScrollViewIOS.mm:
1495         (WebCore::ScrollView::setScrollVelocityInformation):
1496         (WebCore::ScrollView::computeCoverageRect):
1497         * rendering/RenderLayerCompositor.cpp:
1498         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1499
1500 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
1501
1502         [iOS] clean up fullscreen player controller when exiting fullscreen
1503         https://bugs.webkit.org/show_bug.cgi?id=130621
1504
1505         Reviewed by Jer Noble.
1506
1507         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1508         (-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
1509         (-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
1510         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate
1511             and player controller to nil.
1512
1513 2014-03-21  Eric Carlson  <eric.carlson@apple.com>
1514
1515         [iOS] remote command callbacks must happen on the WebThread
1516         https://bugs.webkit.org/show_bug.cgi?id=130618
1517
1518         Reviewed by Jer Noble.
1519
1520         * platform/ios/RemoteCommandListenerIOS.h:
1521         (WebCore::RemoteCommandListenerIOS::createWeakPtr):
1522         * platform/ios/RemoteCommandListenerIOS.mm:
1523         (WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the
1524             main thread before making listener callbacks.
1525
1526 2014-03-21  Zalan Bujtas  <zalan@apple.com>
1527
1528         Subpixel rendering: Make <img> positioning subpixel aware.
1529         https://bugs.webkit.org/show_bug.cgi?id=130596
1530
1531         Reviewed by Simon Fraser.
1532
1533         Change <img> positioning from integral to device pixel. It enables us
1534         to paint hairline borders around <img> properly.
1535         This patch changes the behavior of broken image representation from constant 1 CSS px border
1536         to a dynamic 1 device px.
1537
1538         Test: fast/images/hidpi-image-position-on-device-pixels.html
1539
1540         * WebCore.exp.in:
1541         * platform/graphics/GraphicsContext.cpp:
1542         (WebCore::GraphicsContext::drawImage):
1543         * platform/graphics/GraphicsContext.h:
1544         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1545         (WebCore::GraphicsContext::drawRect):
1546         * platform/graphics/cg/GraphicsContextCG.cpp:
1547         (WebCore::GraphicsContext::drawRect):
1548         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1549         (WebCore::GraphicsContext::drawRect):
1550         * rendering/RenderImage.cpp:
1551         (WebCore::RenderImage::paintReplaced):
1552         (WebCore::RenderImage::paintIntoRect):
1553         * rendering/RenderImage.h:
1554         * rendering/RenderLayer.cpp:
1555         (WebCore::RenderLayer::drawPlatformResizerImage):
1556
1557 2014-03-21  Brent Fulgham  <bfulgham@apple.com>
1558
1559         Merge VTTScanner Code from Blink
1560         https://bugs.webkit.org/show_bug.cgi?id=130616
1561
1562         Reviewed by Eric Carlson.
1563
1564         Merged from Blink (patch by fs@opera.com):
1565         https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
1566         http://crbug.com/75273002
1567         https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
1568         http://crbug.com/134173002
1569         https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
1570         http://crbug.com/134153002
1571         https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
1572         http://crbug.com/137033002
1573         https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
1574         http://crbug.com/140503004
1575         https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
1576         http://crbug.com/139343006
1577         https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
1578         http://crbug.com/143983002
1579         https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
1580         http://crbug.com/144893002
1581  
1582         * CMakeLists.txt:
1583         * GNUmakefile.list.am:
1584         * WebCore.vcxproj/WebCore.vcxproj:
1585         * WebCore.vcxproj/WebCore.vcxproj.filters:
1586         * WebCore.xcodeproj/project.pbxproj:
1587         * html/track/ParsingUtilities.h: Added.
1588         (skipExactly):
1589         (skipUntil):
1590         (skipWhile):
1591         * html/track/VTTCue.cpp:
1592         (WebCore::VTTCue::markFutureAndPastNodes):
1593         (WebCore::VTTCue::settingName):
1594         (WebCore::scanPercentage):
1595         (WebCore::VTTCue::setCueSettings):
1596         * html/track/VTTCue.h:
1597         * html/track/VTTRegion.cpp:
1598         (WebCore::VTTRegion::setRegionSettings):
1599         (WebCore::VTTRegion::scanSettingName):
1600         (WebCore::parsedEntireRun):
1601         (WebCore::VTTRegion::parseSettingValue):
1602         * html/track/VTTRegion.h:
1603         * html/track/VTTScanner.cpp: Added.
1604         (WebCore::VTTScanner::VTTScanner):
1605         (WebCore::VTTScanner::scan):
1606         (WebCore::VTTScanner::scanRun):
1607         (WebCore::VTTScanner::skipRun):
1608         (WebCore::VTTScanner::extractString):
1609         (WebCore::VTTScanner::restOfInputAsString):
1610         (WebCore::VTTScanner::scanDigits):
1611         (WebCore::VTTScanner::scanFloat):
1612         * html/track/VTTScanner.h: Added.
1613         (WebCore::VTTScanner::Run::Run):
1614         (WebCore::VTTScanner::Run::start):
1615         (WebCore::VTTScanner::Run::end):
1616         (WebCore::VTTScanner::Run::isEmpty):
1617         (WebCore::VTTScanner::isAt):
1618         (WebCore::VTTScanner::isAtEnd):
1619         (WebCore::VTTScanner::match):
1620         (WebCore::VTTScanner::position):
1621         (WebCore::VTTScanner::end):
1622         (WebCore::VTTScanner::LCharPredicateAdapter):
1623         (WebCore::VTTScanner::Run::length):
1624         (WebCore::VTTScanner::scan):
1625         (WebCore::VTTScanner::skipWhile):
1626         (WebCore::VTTScanner::skipUntil):
1627         (WebCore::VTTScanner::collectWhile):
1628         (WebCore::VTTScanner::collectUntil):
1629         (WebCore::VTTScanner::seekTo):
1630         (WebCore::VTTScanner::currentChar):
1631         (WebCore::VTTScanner::advance):
1632         * html/track/WebVTTParser.cpp:
1633         (WebCore::WebVTTParser::parseFloatPercentageValue):
1634         (WebCore::WebVTTParser::parseFloatPercentageValuePair):
1635         (WebCore::WebVTTParser::collectTimingsAndSettings):
1636         (WebCore::WebVTTParser::collectTimeStamp):
1637         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
1638         * html/track/WebVTTParser.h:
1639
1640 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
1641
1642         Pseudo type cleanup part 2: split pseudo elements parsing
1643         https://bugs.webkit.org/show_bug.cgi?id=130370
1644
1645         Reviewed by Andreas Kling.
1646
1647         With this patch, pseudo elements are handled separately. The only thing left in
1648         the old path is compatibility pseudo elements and pseudo classes.
1649
1650         The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
1651         The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.
1652
1653         The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().
1654
1655         All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
1656         is updated accordingly. The next step will be to clean that part.
1657
1658         * CMakeLists.txt:
1659         * DerivedSources.make:
1660         * GNUmakefile.list.am:
1661         * WebCore.vcxproj/WebCore.vcxproj:
1662         * WebCore.vcxproj/WebCore.vcxproj.filters:
1663         * WebCore.xcodeproj/project.pbxproj:
1664         * css/CSSComputedStyleDeclaration.cpp:
1665         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
1666         * css/CSSGrammar.y.in:
1667         * css/CSSParserValues.cpp:
1668         (WebCore::CSSParserSelector::parsePseudoElementSelector):
1669         (WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
1670         (WebCore::CSSParserSelector::setPseudoTypeValue):
1671         * css/CSSParserValues.h:
1672         * css/CSSSelector.cpp:
1673         (WebCore::CSSSelector::parsePseudoElementType):
1674         * css/CSSSelector.h:
1675         * css/SelectorPseudoElementTypeMap.in: Added.
1676         * css/SelectorPseudoTypeMap.h:
1677         * css/SelectorPseudoTypeMap.in:
1678         * css/html.css:
1679         (q::before):
1680         (q::after):
1681         * css/makeSelectorPseudoElementsMap.py: Added.
1682         (enumerablePseudoType):
1683         (expand_ifdef_condition):
1684         * page/DOMWindow.cpp:
1685         (WebCore::DOMWindow::getMatchedCSSRules):
1686
1687 2014-03-20  Andreas Kling  <akling@apple.com>
1688
1689         Less inclusion of JSCInlines.h.
1690         <https://webkit.org/b/130545>
1691
1692         Stop including JSCInlines.h from JSDOMGlobalObject.h!
1693
1694         Reviewed by Simon Fraser.
1695
1696         * ForwardingHeaders/runtime/IdentifierInlines.h: Added.
1697         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1698         * bindings/js/JSCommandLineAPIHostCustom.cpp:
1699         * bindings/js/JSDOMGlobalObject.h:
1700         * bindings/js/JSDOMStringMapCustom.cpp:
1701         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1702         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1703         * bindings/js/JSLazyEventListener.cpp:
1704         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1705         * bindings/js/JSStorageCustom.cpp:
1706         * bindings/js/ScriptGlobalObject.cpp:
1707         * dom/NodeIterator.cpp:
1708         * dom/TreeWalker.cpp:
1709         * testing/Internals.cpp:
1710         * testing/js/WebCoreTestSupport.cpp:
1711
1712 2014-03-21  Oliver Hunt  <oliver@apple.com>
1713
1714         Fix a crash when assigning an object to document.location
1715         https://bugs.webkit.org/show_bug.cgi?id=130213
1716
1717         Reviewed by Geoffrey Garen.
1718
1719         Convert location to string before we make use the document.
1720         This prevents us from attempting to navigate a frame that
1721         has already been removed.
1722
1723         Test: fast/dom/navigation-with-sideeffects-crash.html
1724
1725         * bindings/js/JSDocumentCustom.cpp:
1726         (WebCore::JSDocument::location):
1727         (WebCore::JSDocument::setLocation):
1728
1729 2014-03-21  Brian Burg  <bburg@apple.com>
1730
1731         Web Replay: replay controller is improperly setting user input bridge state
1732         https://bugs.webkit.org/show_bug.cgi?id=130606
1733
1734         Reviewed by Timothy Hatcher.
1735
1736         The user input bridge was being set based on the old session state,
1737         rather than the new session state.
1738
1739         * replay/ReplayController.cpp:
1740         (WebCore::ReplayController::setSessionState):
1741
1742 2014-03-21  James Craig  <jcraig@apple.com>
1743
1744         Web Inspector: AXI: Expose Accessibility Tree children of the selected node
1745         https://bugs.webkit.org/show_bug.cgi?id=130264
1746
1747         Reviewed by Timothy Hatcher.
1748
1749         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1750
1751         Expose the accessibility tree children (different from DOM children) of the
1752         current node in the accessibility node inspector.
1753
1754         * inspector/InspectorDOMAgent.cpp: 
1755         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1756         * inspector/InspectorDOMAgent.h:
1757         * inspector/protocol/DOM.json:
1758
1759 2014-03-21  Alex Christensen  <achristensen@webkit.org>
1760
1761         [Win] Compile fixes with video not enabled.
1762         https://bugs.webkit.org/show_bug.cgi?id=130597
1763
1764         Reviewed by Darin Adler.
1765
1766         * DerivedSources.make:
1767         Only generate UserAgentScripts.h if needed.
1768         * platform/audio/MediaSession.cpp:
1769         * platform/audio/MediaSessionManager.cpp:
1770         Only compile if video is enabled.
1771
1772 2014-03-21  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1773
1774         Optimize FEGaussian blur
1775         https://bugs.webkit.org/show_bug.cgi?id=50881
1776
1777         Reviewed by Dirk Schulze.
1778
1779         Currently boxBlur() will calculate the filter for each channel in
1780         a loop and also uses Uint8ClampedArray::set() to write the
1781         resulting pixels into destination array.
1782
1783         Using Uint8ClampedArray::set() requires lots of unnecessary type
1784         conversions, not to mention other function calls. This patch
1785         updates the original written by Simon Fraser to apply cleanly to current
1786         trunk.
1787
1788         It also implements code to handle EdgeModes and finally avoids use
1789         of ::set() in the newly added boxBlurAlphaOnly()
1790         function. Assignment of calculated pixel values rely on pointers.
1791
1792         No new tests, no change on behavior.
1793
1794         * platform/graphics/filters/FEGaussianBlur.cpp:
1795         (WebCore::boxBlurAlphaOnly): Specialized version for alpha only cases.
1796         (WebCore::boxBlur):
1797
1798 2014-03-21  Simon Fraser  <simon.fraser@apple.com>
1799
1800         unobscuredContentRect() should have the same signature on iOS and other platforms,
1801         and should not recurse on iOS.
1802         https://bugs.webkit.org/show_bug.cgi?id=130604
1803         <rdar://problem/16392587>
1804
1805         Reviewed by Tim Horton and Beth Dakin.
1806
1807         Having different signatures on different platforms is a recipe for
1808         build breakage. Give the iOS unobscuredContentRect() an unused 
1809         VisibleContentRectIncludesScrollbars parameter.
1810         
1811         Also avoid recursion via unobscuredContentRect() calling visibleContentRectInternal().
1812
1813         * WebCore.exp.in:
1814         * platform/ScrollView.cpp:
1815         (WebCore::ScrollView::unobscuredContentRect):
1816         (WebCore::ScrollView::unobscuredContentRectInternal):
1817         (WebCore::ScrollView::visibleContentRectInternal):
1818         * platform/ScrollView.h:
1819         (WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
1820         * platform/ios/ScrollViewIOS.mm:
1821         (WebCore::ScrollView::unobscuredContentRect):
1822
1823 2014-03-21  Brent Fulgham  <bfulgham@apple.com>
1824
1825         Handle recovery on "timestamp-looking" lines in the WebVTT parser
1826         https://bugs.webkit.org/show_bug.cgi?id=130610
1827
1828         Reviewed by Eric Carlson.
1829
1830         Merged from Blink (patch by fs@opera.com):
1831         https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
1832         http://crbug.com/75273002
1833
1834         Tests: media/track/track-webvtt-tc031-cue-recovery.html
1835                media/track/track-webvtt-tc032-degenerate-cues.html
1836
1837         * html/track/WebVTTParser.cpp:
1838         (WebCore::WebVTTParser::parse):
1839         (WebCore::WebVTTParser::collectCueText):
1840         (WebCore::WebVTTParser::recoverCue):
1841         (WebCore::WebVTTParser::ignoreBadCue):
1842         * html/track/WebVTTParser.h:
1843
1844 2014-03-21  Andreas Kling  <akling@apple.com>
1845
1846         Remove unused RenderView::repaintRectangleInViewAndCompositedLayers().
1847         <https://webkit.org/b/130605>
1848
1849         Reviewed by Antti Koivisto.
1850
1851         * rendering/RenderView.cpp:
1852         * rendering/RenderView.h:
1853
1854 2014-03-21  David Hyatt  <hyatt@apple.com>
1855
1856         Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
1857         https://bugs.webkit.org/show_bug.cgi?id=129948
1858         <rdar://problem/16074072>
1859         
1860         Reviewed by Simon Fraser.
1861
1862         When the marker was placed for multi-column list items, it was being inserted
1863         into the list item itself. Even though the add code in RenderBlock did the right
1864         thing and put the marker inside the multi-column flow thread, the list item code
1865         passed in a beforeChild that was computed using the incorrect parent. This resulted
1866         in the flow thread being used both as the parent of the marker and the sibling of
1867         the marker.
1868         
1869         The fix is to add some code to RenderListItem to make sure it uses the multi-column
1870         flow thread if it exists both as the parent of the marker and as the basis for the
1871         computation of the sibling that the marker should be placed in front of.
1872
1873         Added fast/multicol/multicol-li-crash.html
1874
1875         * rendering/RenderListItem.cpp:
1876         (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
1877
1878 2014-03-20  Andreas Kling  <akling@apple.com>
1879
1880         Stop pulling in JSCInlines.h all over the place.
1881         <https://webkit.org/b/130105>
1882
1883         JSDOMBinding.h is included by everyone and their uncle, so try to
1884         cut down on the amount of JSC *Inlines.h it includes.
1885
1886         Reviewed by Geoff Garen.
1887
1888         * ForwardingHeaders/heap/SlotVisitorInlines.h: Added.
1889         * ForwardingHeaders/runtime/JSCJSValueInlines.h: Added.
1890         * ForwardingHeaders/runtime/JSCellInlines.h: Added.
1891         * ForwardingHeaders/runtime/StructureInlines.h: Added.
1892         * bindings/js/JSDOMBinding.h:
1893
1894 2014-03-21  David Kilzer  <ddkilzer@apple.com>
1895
1896         WindowFeatures.{x|y|width|height} are not initialized
1897         <http://webkit.org/b/130547>
1898         <rdar://problem/16383151>
1899
1900         Reviewed by Darin Adler.
1901
1902         Based on a Blink patch in CRBug 342591 by zhaoqin.
1903
1904         * page/WindowFeatures.cpp:
1905         (WebCore::WindowFeatures::WindowFeatures):
1906         - Initialize x, y, width, height in String constructor.
1907         - Move 'resizeable' variable to short-hand initialization since
1908           it is true in both cases.
1909         - Use String::isEmpty() instead of checking its length.
1910         * page/WindowFeatures.h:
1911         (WebCore::WindowFeatures::WindowFeatures): Initialize x, y,
1912         width, height in no-argument constructor.
1913
1914 2014-03-21  Sergio Villar Senin  <svillar@igalia.com>
1915
1916         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
1917         https://bugs.webkit.org/show_bug.cgi?id=130601
1918
1919         Reviewed by Darin Adler.
1920
1921         * bridge/IdentifierRep.cpp:
1922         (WebCore::identifierSet):
1923         (WebCore::intIdentifierMap):
1924         (WebCore::stringIdentifierMap):
1925         * bridge/NP_jsobject.cpp:
1926         (objectMap):
1927         * bridge/runtime_root.cpp:
1928         (JSC::Bindings::rootObjectSet): Return a reference instead of
1929         a pointer.
1930         (JSC::Bindings::findProtectingRootObject):
1931         (JSC::Bindings::findRootObject):
1932         (JSC::Bindings::RootObject::RootObject):
1933         (JSC::Bindings::RootObject::invalidate):
1934
1935 2014-03-21  Michael Saboff  <msaboff@apple.com>
1936
1937         Change CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
1938         https://bugs.webkit.org/show_bug.cgi?id=130553
1939
1940         Reviewed by Geoffrey Garen.
1941
1942         Eliminated 'if ($interfaceName eq "DOMWindow") {' sections in CodeGeneratorJS where
1943         it was used to do DOMWindow specific casting to a JSObject, either a JSDOMWindow* or
1944         a JSDOMWindowShell*.  Instead the code generator will use the existing 
1945         JSDOMWindow* toJSDOMWindow(JSValue value) function based on a newly added attribute
1946         "CustomProxyToJSObject".  That attribute will emit a call to the function
1947         ${className}* to${className}(JSValue).
1948
1949         This is being done to clean up the code generator and for a subsequent patch that
1950         will use a similar custom to{className} function for workers,
1951         JSDedicatedWorkerGlobalScope* toJSDedicatedWorkerGlobalScope(JSValue).
1952
1953         Changes covered by existing tests.
1954
1955         * bindings/scripts/CodeGeneratorJS.pm:
1956         (GenerateImplementation):
1957         * bindings/scripts/IDLAttributes.txt:
1958         * page/DOMWindow.idl:
1959
1960 2014-03-21  Krzysztof Czech  <k.czech@samsung.com>
1961
1962         AX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
1963         https://bugs.webkit.org/show_bug.cgi?id=130594
1964
1965         Reviewed by Chris Fleizach.
1966
1967         Use static NeverDestroyed<T> in new code.
1968
1969         * accessibility/AccessibilityMediaControls.cpp:
1970         (WebCore::AccessibilityMediaControl::controlTypeName):
1971         (WebCore::AccessibilityMediaControl::title):
1972         (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
1973         (WebCore::AccessibilityMediaTimeline::helpText):
1974         (WebCore::AccessibilityMediaTimeDisplay::accessibilityDescription):
1975         * accessibility/AccessibilityObject.cpp:
1976         (WebCore::AccessibilityObject::actionVerb):
1977         * accessibility/AccessibilityRenderObject.cpp:
1978         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
1979         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
1980         (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
1981         (WebCore::AccessibilityRenderObject::actionVerb):
1982         * accessibility/atk/AXObjectCacheAtk.cpp:
1983         (WebCore::notifyChildrenSelectionChange):
1984
1985 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
1986
1987         Merge WebVTT Tokenizer Updates
1988         https://bugs.webkit.org/show_bug.cgi?id=130565
1989
1990         Reviewed by Eric Carlson.
1991
1992         Merged from Blink (patch by fs@opera.com):
1993         https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
1994         http://crbug.com/73813002
1995         https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
1996         http://crbug.com/77553004
1997         https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
1998         http://crbug.com/78833002
1999         https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
2000         http://crbug.com/81113003
2001         https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
2002         http://crbug.com/97103002
2003         https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
2004         http://crbug.com/98763004
2005         https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
2006         http://crbug.com/118263002
2007  
2008         * html/track/VTTCue.cpp:
2009         (WebCore::scanPercentage):
2010         (WebCore::VTTCue::setCueSettings):
2011         * html/track/WebVTTParser.cpp:
2012         (WebCore::WebVTTTreeBuilder::buildFromString):
2013         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
2014         * html/track/WebVTTToken.h:
2015         (WebCore::WebVTTToken::WebVTTToken):
2016         (WebCore::WebVTTToken::StringToken):
2017         (WebCore::WebVTTToken::StartTag):
2018         (WebCore::WebVTTToken::EndTag):
2019         (WebCore::WebVTTToken::TimestampTag):
2020         (WebCore::WebVTTToken::type):
2021         (WebCore::WebVTTToken::name):
2022         (WebCore::WebVTTToken::characters):
2023         (WebCore::WebVTTToken::classes):
2024         (WebCore::WebVTTToken::annotation):
2025         * html/track/WebVTTTokenizer.cpp:
2026         (WebCore::addNewClass):
2027         (WebCore::emitToken):
2028         (WebCore::advanceAndEmitToken):
2029         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
2030         (WebCore::WebVTTTokenizer::nextToken):
2031         * html/track/WebVTTTokenizer.h:
2032         (WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
2033
2034 2014-03-21  Frédéric Wang  <fred.wang@free.fr>
2035
2036         Bug 130345 - Refine childShouldCreateRenderer for MathML elements
2037         https://bugs.webkit.org/show_bug.cgi?id=130345
2038
2039         Reviewed by Chris Fleizach.
2040
2041         This is a follow-up of bug 124128. We add more restrictions on foreign
2042         content of MathML elements.
2043
2044         Tests: mathml/presentation/annotation-children.html
2045                mathml/presentation/foreign-element-in-token.html
2046
2047         * mathml/MathMLElement.cpp:
2048         (WebCore::MathMLElement::isPresentationMathML): fix line wrapping
2049         (WebCore::MathMLElement::isPhrasingContent):
2050         - move the function from MathMLSelectElement.cpp
2051         - add the constraint "is descendant of a map element" for area.
2052         (WebCore::MathMLElement::isFlowContent): new function to test flow content.
2053         (WebCore::MathMLElement::childShouldCreateRenderer):
2054         - remove annotation since it is now tested in MathMLTextElement
2055         - refine testing of annotation-xml
2056         - do not create renderer for text content in MathML. Such content is only allowed inside token elements.
2057         * mathml/MathMLElement.h: Declare isPhrasingContent and isFlowContent.
2058         * mathml/MathMLSelectElement.cpp: Add new function to test MathML/SVG/HTML encodings.
2059         (WebCore::MathMLSelectElement::isMathMLEncoding):
2060         (WebCore::MathMLSelectElement::isSVGEncoding):
2061         (WebCore::MathMLSelectElement::isHTMLEncoding):
2062         (WebCore::MathMLSelectElement::getSelectedSemanticsChild): use the new functions.
2063         * mathml/MathMLSelectElement.h: Declare the new public functions.
2064         * mathml/MathMLTextElement.cpp: remove the isPhrasingContent function.
2065         (WebCore::MathMLTextElement::childShouldCreateRenderer): Just in case, use the generic StyledElement::childShouldCreateRenderer.
2066
2067 2014-03-21  Darin Adler  <darin@apple.com>
2068
2069         Stop using deprecatedCharacters in WebCore/platform/win
2070         https://bugs.webkit.org/show_bug.cgi?id=130515
2071
2072         Reviewed by Brent Fulgham.
2073
2074         * platform/graphics/TextRun.h:
2075         (WebCore::TextRun::TextRun): Add a constructor that takes a StringView.
2076         Later, we might want to exclusively use the StringView version and remove
2077         some of the others.
2078         (WebCore::TextRun::setText): Add a version of this function that takes a StringView.
2079
2080         * platform/graphics/win/FontCacheWin.cpp:
2081         (WebCore::FontCache::systemFallbackForCharacters): Use StringView::getCharactersWithUpconvert.
2082         (WebCore::createGDIFont): Ditto.
2083         (WebCore::FontCache::getTraitsInFamily): Ditto.
2084         * platform/win/BString.cpp:
2085         (WebCore::BString::BString): Use StringView::upconvertedCharacters.
2086         * platform/win/ClipboardUtilitiesWin.cpp:
2087         (WebCore::createGlobalData): Use StringView::getCharactersWithUpconvert.
2088         * platform/win/FileSystemWin.cpp:
2089         (WebCore::pathByAppendingComponent): Use StringBuilder and StringView::getCharactersWithUpconvert.
2090         (WebCore::fileSystemRepresentation): Use StringView::upconvertedCharacters.
2091         * platform/win/PasteboardWin.cpp:
2092         (WebCore::filesystemPathFromUrlOrTitle): Use StringView::getCharactersWithUpconvert.
2093         (WebCore::Pasteboard::writeURLToDataObject): Ditto.
2094         (WebCore::createGlobalImageFileDescriptor): Ditto.
2095
2096         * platform/win/PopupMenuWin.cpp:
2097         (WebCore::PopupMenuWin::calculatePositionAndSize): Use the new TextRun constructor.
2098         * platform/win/WebCoreTextRenderer.cpp:
2099         (WebCore::doDrawTextAtPoint): Ditto.
2100
2101 2014-03-21  Zalan Bujtas  <zalan@apple.com>
2102
2103         Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
2104         https://bugs.webkit.org/show_bug.cgi?id=130430
2105
2106         Reviewed by Simon Fraser.
2107
2108         div {
2109             position: absolute;
2110              top: 10.25px;
2111              left: 10.25px;
2112          }
2113
2114          The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
2115          Moving <div> to its own RenderLayer should not change the painting position.
2116
2117          div {
2118              position: absolute;
2119              top: 10.25px;
2120              left: 10.25px;
2121              -webkit-transform: rotate(0deg);
2122          }
2123
2124         When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
2125         renderer's offset from parent.
2126
2127             (10.25px,10.25px) -> rounded to (10.5px,10.5px).
2128
2129         When the translate moves the graphics context's origin over the renderer's top-left position,
2130         the renderer's relative top-left coordinates end up being negative.
2131
2132             Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)
2133
2134         When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.
2135
2136         (relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))
2137
2138         This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
2139         of subpixel shifting.
2140
2141         Tests: compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html
2142                fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html
2143
2144         * css/CSSComputedStyleDeclaration.cpp:
2145         (WebCore::computedTransform):
2146         * rendering/RenderLayer.cpp:
2147         (WebCore::RenderLayer::updateTransform):
2148         (WebCore::RenderLayer::currentTransform):
2149         (WebCore::RenderLayer::paintLayerByApplyingTransform):
2150         * rendering/RenderLayerBacking.cpp:
2151         (WebCore::RenderLayerBacking::updateTransform):
2152         * rendering/style/RenderStyle.cpp:
2153         * rendering/style/RenderStyle.h:
2154         * svg/SVGTextElement.cpp:
2155         (WebCore::SVGTextElement::animatedLocalTransform):
2156
2157 2014-03-21  Pratik Solanki  <psolanki@apple.com>
2158
2159         Unreviewed. iOS build fix after r166046.
2160
2161         * WebCore.exp.in:
2162
2163 2014-03-21  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
2164
2165         Fix the !ENABLE(FILTERS) build
2166         https://bugs.webkit.org/show_bug.cgi?id=130394
2167
2168         Reviewed by Gyuyoung Kim.
2169
2170         Add missing includes in rendering to fix compile errors, and include JSC headers to ImageBuffer.h to fix linker errors.
2171
2172         * platform/graphics/ImageBuffer.h:
2173         * rendering/svg/RenderSVGImage.cpp:
2174         * rendering/svg/RenderSVGRoot.cpp:
2175
2176 2014-03-21  Commit Queue  <commit-queue@webkit.org>
2177
2178         Unreviewed, rolling out r166052.
2179         https://bugs.webkit.org/show_bug.cgi?id=130571
2180
2181         It broke EFL build (Requested by KaL on #webkit).
2182
2183         Reverted changeset:
2184
2185         "[GTK] Use GMainLoopSource for idle and timeout sources in
2186         WebCore"
2187         https://bugs.webkit.org/show_bug.cgi?id=130078
2188         http://trac.webkit.org/changeset/166052
2189
2190 2014-03-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2191
2192         Add *explicit* keyword to avoid implicit type conversion
2193         https://bugs.webkit.org/show_bug.cgi?id=130568
2194
2195         Reviewed by Antti Koivisto.
2196
2197         Constructors of RemoteFontFaceSource, SVGDocumentExtensions, XMLDocumentParserScope,
2198         and WorkerScriptDebugServer need to use *explicit* keyword because they have an argument.
2199         Besides removed a meaningless argument name.
2200
2201         * svg/SVGDocumentExtensions.h:
2202         * xml/parser/XMLDocumentParserScope.h:
2203
2204 2014-03-20  Sergio Villar Senin  <svillar@igalia.com>
2205
2206         Modules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
2207         https://bugs.webkit.org/show_bug.cgi?id=130407
2208
2209         Reviewed by Darin Adler.
2210
2211         * Modules/encryptedmedia/CDM.cpp:
2212         (WebCore::installedCDMFactories):
2213         * Modules/mediasource/MediaSourceRegistry.cpp:
2214         (WebCore::MediaSourceRegistry::registry):
2215         * Modules/mediasource/MediaSourceRegistry.h:
2216         * Modules/mediastream/MediaStreamRegistry.cpp:
2217         (WebCore::MediaStreamRegistry::registry):
2218
2219 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2220
2221         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
2222         https://bugs.webkit.org/show_bug.cgi?id=130078
2223
2224         Reviewed by Philippe Normand.
2225
2226         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2227         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2228         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2229         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2230         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2231         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2232         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2233         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2234         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
2235         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2236         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2237         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2238         * platform/gtk/GtkDragAndDropHelper.cpp:
2239         * platform/gtk/SharedTimerGtk.cpp:
2240
2241 2014-03-21  Andreas Kling  <akling@apple.com>
2242
2243         HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
2244         <rdar://problem/15675780>
2245
2246         Merge Blink r156744 by Adam Klein.
2247
2248         Test: fast/frames/set-iframe-src-in-pagehide-crash.html
2249
2250         * loader/SubframeLoader.cpp:
2251         (WebCore::SubframeLoader::loadSubframe):
2252
2253 2014-03-21  Darin Adler  <darin@apple.com>
2254
2255         Improve idiom used for string building in a few places
2256         https://bugs.webkit.org/show_bug.cgi?id=130561
2257
2258         Reviewed by Andreas Kling.
2259
2260         * Modules/indexeddb/IDBKeyData.cpp:
2261         (WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
2262         an an unnecessary additional string allocation.
2263
2264         * Modules/websockets/ThreadableWebSocketChannel.cpp:
2265         (WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.
2266
2267         * html/FTPDirectoryDocument.cpp:
2268         (WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
2269         string concatenation.
2270         * html/ValidationMessage.cpp:
2271         (WebCore::ValidationMessage::updateValidationMessage): Ditto.
2272
2273         * inspector/InspectorApplicationCacheAgent.cpp:
2274         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
2275         Use a StringBuilder.
2276
2277         * inspector/InspectorStyleSheet.cpp: 
2278         (WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.
2279
2280         * inspector/InspectorStyleTextEditor.cpp:
2281         (WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
2282         for string concatenation.
2283         (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
2284         * loader/FormSubmission.cpp:
2285         (WebCore::appendMailtoPostFormDataToURL): Ditto.
2286
2287         * page/Frame.cpp:
2288         (WebCore::createRegExpForLabels): Use a StringBuilder.
2289
2290         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2291         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
2292         idiom for string concatenation.
2293
2294         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2295         (WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.
2296
2297         * platform/network/MIMEHeader.cpp:
2298         (WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
2299         concatenation.
2300         * platform/network/ResourceResponseBase.cpp:
2301         (WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.
2302         * rendering/RenderLayerCompositor.cpp:
2303         (WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.
2304
2305         * rendering/RenderText.cpp:
2306         (WebCore::RenderText::secureText): Create a new string with the substring
2307         function rather than with the append function.
2308
2309         * xml/XMLHttpRequest.cpp:
2310         (WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
2311         for string concatenation.
2312
2313 2014-03-21  Darin Adler  <darin@apple.com>
2314
2315         Add a combined decodeAndFlush to TextResourceDecoder
2316         https://bugs.webkit.org/show_bug.cgi?id=130560
2317
2318         Reviewed by Andreas Kling.
2319
2320         * WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did
2321         the geometry types #if so it would sort more logically.
2322
2323         * fileapi/FileReaderLoader.cpp:
2324         (WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.
2325         * inspector/InspectorPageAgent.cpp:
2326         (WebCore::InspectorPageAgent::cachedResourceContent): Ditto.
2327         * inspector/NetworkResourcesData.cpp:
2328         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.
2329
2330         * loader/TextResourceDecoder.cpp:
2331         (WebCore::TextResourceDecoder::decodeAndFlush): Added.
2332         * loader/TextResourceDecoder.h: Ditto.
2333
2334         * loader/appcache/ManifestParser.cpp:
2335         (WebCore::parseManifest): Use decodeAndFlush.
2336         * loader/cache/CachedCSSStyleSheet.cpp:
2337         (WebCore::CachedCSSStyleSheet::sheetText): Ditto.
2338         (WebCore::CachedCSSStyleSheet::finishLoading): Ditto.
2339
2340         * loader/cache/CachedFont.cpp:
2341         (WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
2342         (WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
2343         instead of using a NodeList. Much more efficient!
2344
2345         * loader/cache/CachedSVGDocument.cpp:
2346         (WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.
2347         * loader/cache/CachedScript.cpp:
2348         (WebCore::CachedScript::script): Ditto.
2349         * loader/cache/CachedXSLStyleSheet.cpp:
2350         (WebCore::CachedXSLStyleSheet::finishLoading): Ditto.
2351         * page/Page.cpp:
2352         (WebCore::Page::userStyleSheet): Ditto.
2353
2354 2014-03-20  Darin Adler  <darin@apple.com>
2355
2356         Remove a couple of unused functions from CSSOMUtils
2357         https://bugs.webkit.org/show_bug.cgi?id=130558
2358
2359         Reviewed by Andreas Kling.
2360
2361         * css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder
2362         ones, which is good since that is a more efficient idiom.
2363         * css/CSSOMUtils.h: Ditto.
2364
2365 2014-03-20  Pratik Solanki  <psolanki@apple.com>
2366
2367         Unreviewed. iOS build fix after r166017, r166032.
2368
2369         * platform/ScrollView.cpp:
2370         (WebCore::ScrollView::visibleContentRectInternal):
2371
2372 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
2373
2374         Move to using std::unique_ptr for EFL objects.
2375         https://bugs.webkit.org/show_bug.cgi?id=129853
2376
2377         Reviewed by Gyuyoung Kim.
2378
2379         EflUniquePtr is a template alias of std::unique_ptr
2380         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
2381         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
2382
2383         No new tests. No new functionality.
2384
2385         * platform/efl/EflScreenUtilities.h:
2386         * platform/efl/RenderThemeEfl.cpp:
2387         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
2388         (WebCore::RenderThemeEfl::loadTheme):
2389         * platform/efl/RenderThemeEfl.h:
2390         * platform/graphics/Icon.h:
2391         * platform/graphics/efl/EvasGLContext.h:
2392         (WebCore::EvasGLContext::create):
2393         * platform/graphics/efl/EvasGLSurface.h:
2394         (WebCore::EvasGLSurface::create):
2395
2396 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2397
2398         [EFL][GTK] Get CMake to find Freetype2 properly
2399         https://bugs.webkit.org/show_bug.cgi?id=130150
2400
2401         Reviewed by Martin Robinson.
2402
2403         Newer versions of CMake are not able to find Freetype2 correctly.
2404         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
2405         freetype2 repo, because a completely different version number is found in freetype2.pc.
2406
2407         * PlatformEfl.cmake:
2408         * PlatformGTK.cmake:
2409
2410 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
2411
2412         [GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
2413         https://bugs.webkit.org/show_bug.cgi?id=130517
2414
2415         Reviewed by Sergio Villar Senin.
2416
2417         * plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.
2418
2419 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
2420
2421         Cleanup in aisle r166017.
2422         
2423         visibleContentRectInternal() was dropping the scrollbar
2424         inclusiveness on the floor, and we need to reset the top inset
2425         between tests.
2426
2427         * platform/ScrollView.cpp:
2428         (WebCore::ScrollView::visibleContentRectInternal):
2429         * testing/Internals.cpp:
2430         (WebCore::Internals::resetToConsistentState):
2431
2432 2014-03-20  Enrica Casucci  <enrica@apple.com>
2433
2434         Build fix.
2435
2436         Removing unused variable.
2437         
2438         * page/FrameView.cpp:
2439         (WebCore::FrameView::didPaintContents):
2440
2441 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
2442
2443         Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
2444         https://bugs.webkit.org/show_bug.cgi?id=130543
2445
2446         Reviewed by Dean Jackson.
2447
2448         Merged from Blink (patch by philipj@opera.com):
2449         https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
2450         http://crbug.com/55653003
2451
2452         Tests: media/track/regions-webvtt/vtt-region-constructor.html
2453                media/track/regions-webvtt/vtt-region-display.html
2454                media/track/regions-webvtt/vtt-region-dom-layout.html
2455                media/track/regions-webvtt/vtt-region-list.html
2456                media/track/regions-webvtt/vtt-region-parser.html
2457
2458         * Configurations/FeatureDefines.xcconfig:
2459         * DerivedSources.make:
2460         * WebCore.xcodeproj/project.pbxproj:
2461         * html/shadow/MediaControlElements.cpp:
2462         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2463         * html/track/LoadableTextTrack.cpp:
2464         (WebCore::LoadableTextTrack::newRegionsAvailable):
2465         * html/track/TextTrack.cpp:
2466         (WebCore::TextTrack::ensureVTTRegionList):
2467         (WebCore::TextTrack::regions):
2468         (WebCore::TextTrack::addRegion):
2469         (WebCore::TextTrack::removeRegion):
2470         * html/track/TextTrack.h:
2471         * html/track/TextTrack.idl:
2472         * html/track/TextTrackCue.cpp:
2473         * html/track/TextTrackRegion.cpp: Removed.
2474         * html/track/TextTrackRegion.h: Removed.
2475         * html/track/TextTrackRegion.idl: Removed.
2476         * html/track/TextTrackRegionList.cpp: Removed.
2477         * html/track/TextTrackRegionList.h: Removed.
2478         * html/track/TextTrackRegionList.idl: Removed.
2479         * html/track/VTTCue.cpp:
2480         (WebCore::VTTCue::removeDisplayTree):
2481         * html/track/VTTRegion.cpp: Copied from Source/WebCore/html/track/TextTrackRegion.cpp.
2482         (WebCore::VTTRegion::VTTRegion):
2483         (WebCore::VTTRegion::~VTTRegion):
2484         (WebCore::VTTRegion::setTrack):
2485         (WebCore::VTTRegion::setId):
2486         (WebCore::VTTRegion::setWidth):
2487         (WebCore::VTTRegion::setHeight):
2488         (WebCore::VTTRegion::setRegionAnchorX):
2489         (WebCore::VTTRegion::setRegionAnchorY):
2490         (WebCore::VTTRegion::setViewportAnchorX):
2491         (WebCore::VTTRegion::setViewportAnchorY):
2492         (WebCore::VTTRegion::scroll):
2493         (WebCore::VTTRegion::setScroll):
2494         (WebCore::VTTRegion::updateParametersFromRegion):
2495         (WebCore::VTTRegion::setRegionSettings):
2496         (WebCore::VTTRegion::getSettingFromString):
2497         (WebCore::VTTRegion::parseSettingValue):
2498         (WebCore::VTTRegion::parseSetting):
2499         (WebCore::VTTRegion::textTrackCueContainerScrollingClass):
2500         (WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
2501         (WebCore::VTTRegion::textTrackRegionShadowPseudoId):
2502         (WebCore::VTTRegion::appendTextTrackCueBox):
2503         (WebCore::VTTRegion::displayLastTextTrackCueBox):
2504         (WebCore::VTTRegion::willRemoveTextTrackCueBox):
2505         (WebCore::VTTRegion::getDisplayTree):
2506         (WebCore::VTTRegion::prepareRegionDisplayTree):
2507         (WebCore::VTTRegion::startTimer):
2508         (WebCore::VTTRegion::stopTimer):
2509         (WebCore::VTTRegion::scrollTimerFired):
2510         * html/track/VTTRegion.h: Copied from Source/WebCore/html/track/TextTrackRegion.h.
2511         (WebCore::VTTRegion::create):
2512         * html/track/VTTRegion.idl: Copied from Source/WebCore/html/track/TextTrackRegion.idl.
2513         * html/track/VTTRegionList.cpp: Copied from Source/WebCore/html/track/TextTrackRegionList.cpp.
2514         (WebCore::VTTRegionList::VTTRegionList):
2515         (WebCore::VTTRegionList::length):
2516         (WebCore::VTTRegionList::item):
2517         (WebCore::VTTRegionList::getRegionById):
2518         (WebCore::VTTRegionList::add):
2519         (WebCore::VTTRegionList::remove):
2520         (WebCore::VTTRegionList::clear):
2521         * html/track/VTTRegionList.h: Copied from Source/WebCore/html/track/TextTrackRegionList.h.
2522         (WebCore::VTTRegionList::create):
2523         (WebCore::VTTRegionList::~VTTRegionList):
2524         * html/track/VTTRegionList.idl: Copied from Source/WebCore/html/track/TextTrackRegionList.idl.
2525         * html/track/WebVTTParser.cpp:
2526         (WebCore::WebVTTParser::parseFloatPercentageValue):
2527         (WebCore::WebVTTParser::getNewRegions):
2528         (WebCore::WebVTTParser::createNewRegion):
2529         * html/track/WebVTTParser.h:
2530         * loader/TextTrackLoader.cpp:
2531         (WebCore::TextTrackLoader::getNewRegions):
2532         * loader/TextTrackLoader.h:
2533
2534 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
2535
2536         Fix the iOS build.
2537
2538         * page/FrameView.cpp:
2539         (WebCore::FrameView::willPaintContents):
2540         (WebCore::FrameView::didPaintContents):
2541
2542 2014-03-20  Hans Muller  <hmuller@adobe.com>
2543
2544         [CSS Shapes] clamp RasterShape shapeMargin to reference box size
2545         https://bugs.webkit.org/show_bug.cgi?id=130350
2546
2547         Reviewed by Dean Jackson.
2548
2549         Corrected the way the maximum shape-margin value was computed for image valued
2550         shapes. The limiting case is an image with just one above threshold pixel. The
2551         largest possible value for shapeMargin is the radius of a circle that encloses
2552         the size of the shape-outside element's margin-box, since the shape-outside's
2553         boundary is clipped to the margin-box. The radius is just sqrt(2) * the margin-box's
2554         largest dimension.
2555
2556         Also cleaned up up a few poorly named parameters.
2557
2558         Test: fast/shapes/shape-outside-floats/shape-outside-one-pixel.html
2559
2560         * rendering/shapes/RasterShape.cpp:
2561         (WebCore::RasterShape::marginIntervals):
2562         * rendering/shapes/RasterShape.h:
2563         (WebCore::RasterShape::RasterShape):
2564         * rendering/shapes/Shape.h:
2565
2566 2014-03-20  Beth Dakin  <bdakin@apple.com>
2567
2568         Build fix.
2569
2570         * page/FrameView.cpp:
2571         (WebCore::FrameView::paintContents):
2572
2573 2014-03-20  Beth Dakin  <bdakin@apple.com>
2574
2575         Implement contentInset for Mac WebKit2
2576         https://bugs.webkit.org/show_bug.cgi?id=130273
2577
2578         Reviewed by Simon Fraser.
2579
2580         This patch adds support for topContentInset(). If a page has a topContentInset(), 
2581         the root layer’s position is adjusted to account for the inset. It is assumed that 
2582         the area accounted for by the inset is visible but obscured, so scrollbars need to 
2583         be moved so that they only cover the non-obscured area, and most parts of WebCore 
2584         that wonder about visibleContentSize only care about the unobscured area, so this 
2585         patch makes that visibleContentRect return the unobscuredRect. Finally since this 
2586         is achieved by moving a layer’s position, the topContentInset() also needs to be 
2587         factored into various functions that are used to convert between coordinate 
2588         spaces. 
2589
2590         Return Page::topContentInset() if this is the main frame.
2591         * page/FrameView.cpp:
2592         (WebCore::FrameView::topContentInset):
2593         * page/FrameView.h:
2594
2595         Cache the inset on Page.
2596         * page/Page.cpp:
2597         (WebCore::Page::Page):
2598         * page/Page.h:
2599         (WebCore::Page::topContentInset):
2600         (WebCore::Page::setTopContentInset):
2601
2602         unobscuredContentRect() used to unconditionally return visibleContentRect() on 
2603         non-iOS platforms. Now that it is possible for some technically visible content to 
2604         be obscured, this code needed to be re-worked a bit to make some more sense. 
2605         visibleContentRect() now represents that visible content that is completely 
2606         unobscured, so it should call into unobscuredContentRect() rather than the other 
2607         way around.
2608         * platform/ScrollView.cpp:
2609         (WebCore::ScrollView::unobscuredContentRect):
2610
2611         unscaledTotalVisibleContentSize() includes the size of all content that might be 
2612         visible. Some of this content might be obscured.
2613         (WebCore::ScrollView::unscaledTotalVisibleContentSize):
2614
2615         Most of the time, we only care about the content that is FULLY visible. That is 
2616         what you get from unscaledUnobscuredVisibleContentSize().
2617         (WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):
2618
2619         Use the unobscured size for these computations.
2620         (WebCore::ScrollView::visibleContentRectInternal):
2621         (WebCore::ScrollView::layoutSize):
2622
2623         Factor in the topContentInset().
2624         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
2625         (WebCore::ScrollView::scrollPositionRelativeToDocument):
2626
2627         The scrollbars should be positioned to cover the non-obscured content only. 
2628         (WebCore::ScrollView::updateScrollbars):
2629
2630         Again, factor the topContentInset() into these conversions since the root layer’s 
2631         position has been adjusted to account for it.
2632         (WebCore::ScrollView::contentsToRootView):
2633         (WebCore::ScrollView::contentsToWindow):
2634
2635          Just like the scrollbars, the scroll corner must be moved the account for the 
2636         inset.
2637         (WebCore::ScrollView::scrollCornerRect):
2638         * platform/ScrollView.h:
2639         (WebCore::ScrollView::topContentInset):
2640
2641         RenderLayerCompositor cares about unscaledTotalVisibleContentSize(). It does not 
2642         care if some of that content is obscured.
2643         * rendering/RenderLayerCompositor.cpp:
2644         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2645
2646         Move the root layer’s position based on the contentInset.
2647         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2648         (WebCore::RenderLayerCompositor::ensureRootLayer):
2649
2650         Allow setting contentInset via Internals for testing purposes.
2651         * testing/Internals.cpp:
2652         (WebCore::Internals::setTopContentInset):
2653         * testing/Internals.h:
2654         * testing/Internals.idl:
2655
2656 2014-03-20  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
2657
2658         Optimize RenderTable::colToEffCol() for tables without colspans
2659         https://bugs.webkit.org/show_bug.cgi?id=129298
2660
2661         Reviewed by Simon Fraser.
2662
2663         Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
2664         when there is no colspan or colspan does not exceed the width of table.
2665         Blink merge https://codereview.chromium.org/154243002 by rhogan
2666
2667         * rendering/RenderTable.cpp:
2668         (WebCore::RenderTable::RenderTable):
2669         (WebCore::RenderTable::appendColumn):
2670         (WebCore::RenderTable::recalcSections):
2671         * rendering/RenderTable.h:
2672         (WebCore::RenderTable::colToEffCol):
2673         (WebCore::RenderTable::effColToCol):
2674         (WebCore::RenderTable::hasCellColspanThatDeterminesTableWidth):
2675
2676 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
2677
2678         FrameView::paintContents() is not called for composited content
2679         https://bugs.webkit.org/show_bug.cgi?id=130541
2680
2681         Reviewed by Beth Dakin.
2682
2683         FrameView::paintContents() is not called for frames that have
2684         composited contents, yet it contains code that is expected
2685         to run for all Frames.
2686         
2687         Fix by factoring into will/didPaintContents(), and calling
2688         the will/did functions from RenderLayerBacking::paintIntoLayer().
2689         
2690         Also add a SetLayoutNeededForbiddenScope check for composited-layer
2691         painting.
2692
2693         * page/FrameView.cpp:
2694         (WebCore::FrameView::updateControlTints):
2695         (WebCore::FrameView::willPaintContents):
2696         (WebCore::FrameView::didPaintContents):
2697         (WebCore::FrameView::paintContents):
2698         * page/FrameView.h:
2699         * rendering/RenderLayerBacking.cpp:
2700         (WebCore::RenderLayerBacking::paintIntoLayer):
2701
2702 2014-03-20  Tim Horton  <timothy_horton@apple.com>
2703
2704         Fix the Mountain Lion build.
2705
2706         * platform/graphics/cocoa/IOSurface.mm:
2707         (IOSurface::setIsPurgeable):
2708
2709 2014-03-20  Brian Burg  <bburg@apple.com>
2710
2711         Web Replay: capture and replay mouse events
2712         https://bugs.webkit.org/show_bug.cgi?id=129395
2713
2714         Reviewed by Joseph Pecoraro.
2715
2716         Add support for capturing and replaying mouse inputs that come from WebKit2.
2717         Hook up the UserInputBridge to session state changes in the ReplayController so
2718         that the bridge knows when to capture or deny mouse inputs.
2719
2720         Test: ManualTests/inspector/replay-mouse-events.html
2721
2722         * platform/PlatformEvent.h: Give explicit storage types to Modifiers and Type enums
2723         so they can be forward-declared.
2724         * platform/PlatformMouseEvent.h: Give an explicit storage type to enum MouseButton.
2725         Add operator== and operator!= for MouseButton to work around an MSVC bug.
2726
2727         * replay/ReplayController.cpp: Perform session state changes in a helper function, and
2728         at the same time change the state of the page's user input bridge.
2729         (WebCore::ReplayController::setSessionState):
2730         (WebCore::ReplayController::startCapturing):
2731         (WebCore::ReplayController::stopCapturing):
2732         (WebCore::ReplayController::startPlayback):
2733         (WebCore::ReplayController::cancelPlayback):
2734
2735         * replay/ReplayInputDispatchMethods.cpp: Add dispatch methods for new inputs.
2736         (WebCore::HandleMouseMove::dispatch):
2737         (WebCore::HandleMousePress::dispatch):
2738         (WebCore::HandleMouseRelease::dispatch):
2739
2740         * replay/SerializationMethods.cpp: Add helper macros so that encode/decode methods look
2741         symmetric with one data member per line. This helps reduce unintentional inconsistencies.
2742         (JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Added.
2743         (JSC::EncodingTraits<PlatformMouseEvent>::decodeValue): Added.
2744         * replay/SerializationMethods.h:
2745
2746         * replay/UserInputBridge.cpp: Fill in the bridge method implementations for mouse
2747         events, adding helpers and macros as necessary to reduce boilerplate.
2748         (WebCore::UserInputBridge::activeCursor): Added.
2749         (WebCore::UserInputBridge::handleMousePressEvent):
2750         (WebCore::UserInputBridge::handleMouseReleaseEvent):
2751         (WebCore::UserInputBridge::handleMouseMoveEvent):
2752         (WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):
2753
2754         * replay/UserInputBridge.h: Add a bridge state enum along with getters and setters.
2755         The enum value controls whether the bridge should capture commands, deny non-synthetic
2756         commands (from the user), or allow anything to pass (the default).
2757         (WebCore::UserInputBridge::setState): Added.
2758         (WebCore::UserInputBridge::state): Added.
2759
2760         * replay/WebInputs.json: Add inputs HandleMouseMove, HandleMousePress, HandleMouseRelease.
2761         Add enum definitions for PlatformEvent::Type, PlatformEvent::Modifiers, and PlatformMouseEvent::MouseButton.
2762         Alphabetize the existing data type definitions.
2763
2764 2014-03-20  Tim Horton  <timothy_horton@apple.com>
2765
2766         Add WebCore::IOSurface wrapper
2767         https://bugs.webkit.org/show_bug.cgi?id=130529
2768
2769         Reviewed by Simon Fraser.
2770
2771         * WebCore.exp.in:
2772         * WebCore.xcodeproj/project.pbxproj:
2773         * platform/graphics/cg/ColorCG.cpp:
2774         * platform/graphics/cg/GraphicsContextCG.h:
2775         (WebCore::cachedCGColorSpace):
2776         Move cachedCGColorSpace out so that other clients of GraphicsContextCG
2777         can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.
2778
2779         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
2780         * platform/graphics/cg/ImageBufferCG.cpp:
2781         Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.
2782
2783         * platform/graphics/cocoa/IOSurface.h: Added.
2784         * platform/graphics/cocoa/IOSurface.mm: Added.
2785         (IOSurface::create):
2786         (IOSurface::createFromMachPort):
2787         (IOSurface::createFromSurface):
2788         (IOSurface::IOSurface):
2789         (IOSurface::maximumSize):
2790         (IOSurface::createMachPort):
2791         (IOSurface::createImage):
2792         (IOSurface::ensurePlatformContext):
2793         (IOSurface::ensureGraphicsContext):
2794         (IOSurface::state):
2795         (IOSurface::isPurgeable):
2796         (IOSurface::setIsPurgeable):
2797         (IOSurface::inUse):
2798         Add WebCore::IOSurface.
2799
2800 2014-03-20  Pratik Solanki  <psolanki@apple.com>
2801
2802         iOS build fix after r165992.
2803
2804         * generate-export-file:
2805         (preprocessorMacros):
2806
2807 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2808
2809         [WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
2810         https://bugs.webkit.org/show_bug.cgi?id=130434
2811
2812         Reviewed by Eric Carlson.
2813
2814         Those classes are defined in WebRTC spec, so they should not be in platform layer.
2815         Adding a platform implementation to be passed to handler classes.
2816
2817         * Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
2818         * Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
2819         * Modules/mediastream/RTCPeerConnection.cpp:
2820         (WebCore::RTCPeerConnection::RTCPeerConnection):
2821         (WebCore::RTCPeerConnection::updateIce):
2822         * WebCore.xcodeproj/project.pbxproj:
2823         * platform/mediastream/RTCConfigurationPrivate.h: Added.
2824         * platform/mediastream/RTCIceServerPrivate.h: Added.
2825         * platform/mediastream/RTCPeerConnectionHandler.h:
2826         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2827         (WebCore::RTCPeerConnectionHandlerMock::initialize):
2828         (WebCore::RTCPeerConnectionHandlerMock::updateIce):
2829         * platform/mock/RTCPeerConnectionHandlerMock.h:
2830
2831 2014-03-20  Alex Christensen  <achristensen@webkit.org>
2832
2833         [WinCairo] Unreviewed speculative build after my r165996.
2834
2835         * platform/network/soup/AuthenticationChallengeSoup.cpp:
2836         * platform/network/soup/CertificateInfo.cpp:
2837         * platform/network/soup/CookieJarSoup.cpp:
2838         * platform/network/soup/ResourceRequestSoup.cpp:
2839         * platform/network/soup/ResourceResponseSoup.cpp:
2840         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
2841
2842 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
2843
2844         Add a flushing mechanism for the WebVTTParser
2845         https://bugs.webkit.org/show_bug.cgi?id=130532
2846
2847         Reviewed by Eric Carlson.
2848
2849         Merged from Blink (patch by vcarbune@chromium.org):
2850         https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
2851         http://crbug.com/54203003
2852         https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
2853         http://crbug.com/59453002
2854         https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
2855         http://crbug.com/75233002
2856         https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
2857         http://crbug.com/52713005
2858         https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
2859         http://crbug.com/64303004
2860         https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
2861         http://crbug.com/96933004
2862         https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
2863         http://crbug.com/98783005
2864         https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
2865         http://crbug.com/104713002
2866
2867         Tests: http/tests/media/track/track-webvtt-slow-loading-2.html
2868                http/tests/media/track/track-webvtt-slow-loading.html
2869
2870         * CMakeLists.txt:
2871         * GNUmakefile.list.am:
2872         * WebCore.vcxproj/WebCore.vcxproj:
2873         * WebCore.vcxproj/WebCore.vcxproj.filters:
2874         * WebCore.xcodeproj/project.pbxproj:
2875         * html/track/BufferedLineReader.cpp: Added.
2876         * html/track/BufferedLineReader.h: Added.
2877         * html/track/TextTrackRegion.cpp:
2878         * html/track/VTTCue.cpp:
2879         * html/track/WebVTTParser.cpp:
2880         * html/track/WebVTTParser.h:
2881         * loader/TextTrackLoader.cpp:
2882
2883 2014-03-20  Alex Christensen  <achristensen@webkit.org>
2884
2885         Preparation for using Soup on Windows.
2886         https://bugs.webkit.org/show_bug.cgi?id=130472
2887
2888         Reviewed by Brent Fulgham.
2889
2890         * WebCore.vcxproj/WebCore.vcxproj:
2891         * WebCore.vcxproj/WebCore.vcxproj.filters:
2892         Added Soup source to build on WinCairo.
2893         * platform/network/curl/CookieJarCurl.cpp:
2894         * platform/network/curl/CredentialStorageCurl.cpp:
2895         * platform/network/curl/CurlCacheEntry.cpp:
2896         * platform/network/curl/CurlCacheManager.cpp:
2897         * platform/network/curl/CurlDownload.cpp:
2898         * platform/network/curl/DNSCurl.cpp:
2899         * platform/network/curl/FormDataStreamCurl.cpp:
2900         * platform/network/curl/MultipartHandle.cpp:
2901         * platform/network/curl/ProxyServerCurl.cpp:
2902         * platform/network/curl/ResourceHandleCurl.cpp:
2903         * platform/network/curl/ResourceHandleManager.cpp:
2904         * platform/network/curl/SSLHandle.cpp:
2905         * platform/network/curl/SocketStreamHandleCurl.cpp:
2906         Protected with USE(CURL) to avoid duplicate symbols when linking.
2907         * platform/network/soup/AuthenticationChallengeSoup.cpp:
2908         * platform/network/soup/CertificateInfo.cpp:
2909         * platform/network/soup/CookieJarSoup.cpp:
2910         * platform/network/soup/CookieStorageSoup.cpp:
2911         * platform/network/soup/CredentialStorageSoup.cpp:
2912         * platform/network/soup/DNSSoup.cpp:
2913         * platform/network/soup/NetworkStorageSessionSoup.cpp:
2914         * platform/network/soup/ProxyResolverSoup.cpp:
2915         * platform/network/soup/ProxyServerSoup.cpp:
2916         * platform/network/soup/ResourceErrorSoup.cpp:
2917         * platform/network/soup/ResourceHandleSoup.cpp:
2918         * platform/network/soup/ResourceRequestSoup.cpp:
2919         * platform/network/soup/ResourceResponseSoup.cpp:
2920         * platform/network/soup/SocketStreamHandleSoup.cpp:
2921         * platform/network/soup/SoupNetworkSession.cpp:
2922         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
2923         Protected with USE(CURL) to avoid duplicate symbols when linking.
2924
2925 2014-03-20  Pratik Solanki  <psolanki@apple.com>
2926
2927         iOS build fix after r165979.
2928
2929         * generate-export-file:
2930         (preprocessorMacros):
2931
2932 2014-03-20  David Hyatt  <hyatt@apple.com>
2933
2934         [New Multicolumn] getClientRects returns wrong rectangle
2935         https://bugs.webkit.org/show_bug.cgi?id=128614
2936
2937         Reviewed by Sam Weinig.
2938
2939         Added fast/multicol/newmulticol/client-rects.html and beefed up existing
2940         fast/multicol/client-rects.html to use more writing modes.
2941
2942         * rendering/LayoutState.h:
2943         Removed unused function.
2944
2945         * rendering/RenderFlowThread.h:
2946         Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
2947         override it.
2948
2949         * rendering/RenderMultiColumnFlowThread.cpp:
2950         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
2951         * rendering/RenderMultiColumnFlowThread.h:
2952         Implement mapFlowToRegion to correctly translate a flow thread position
2953         into a column offset within a region.
2954
2955         * rendering/RenderMultiColumnSet.cpp:
2956         (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
2957         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2958         * rendering/RenderMultiColumnSet.h:
2959         Refactored some code to make a columnTranslationForOffset helper that
2960         can be used by RenderMultiColumnFlowThread.
2961
2962 2014-03-20  Daniel Bates  <dabates@apple.com>
2963
2964         Preserve original document URL for XSSAuditor reports
2965
2966         Merged from Blink (patch by Tom Sepez):
2967         https://src.chromium.org/viewvc/blink?view=rev&revision=158406
2968
2969         Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html
2970
2971         * html/parser/XSSAuditor.cpp:
2972         (WebCore::XSSAuditor::filterToken):
2973         * html/parser/XSSAuditorDelegate.cpp:
2974         (WebCore::buildConsoleError):
2975         (WebCore::XSSAuditorDelegate::generateViolationReport):
2976         (WebCore::XSSAuditorDelegate::didBlockScript):
2977         * html/parser/XSSAuditorDelegate.h:
2978         (WebCore::XSSInfo::XSSInfo):
2979
2980 2014-03-20  Daniel Bates  <dabates@apple.com>
2981
2982         XSSAuditor bypass with frameset tags
2983
2984         Merged from Blink (patch by Tom Sepez):
2985         https://src.chromium.org/viewvc/blink?view=rev&revision=157794
2986
2987         Test: http/tests/security/xssAuditor/frameset-injection.html
2988
2989         * html/parser/XSSAuditor.cpp:
2990         (WebCore::XSSAuditor::filterStartToken):
2991         (WebCore::XSSAuditor::filterFrameToken):
2992         * html/parser/XSSAuditor.h:
2993
2994 2014-03-20  Brian Burg  <bburg@apple.com>
2995
2996         Web Replay: fix some oversights in the replay backend
2997         https://bugs.webkit.org/show_bug.cgi?id=130435
2998
2999         Reviewed by Andreas Kling.
3000
3001         This functionality will be covered by tests in https://webkit.org/b/130145.
3002
3003         * inspector/InspectorInstrumentation.cpp:
3004         (WebCore::InspectorInstrumentation::playbackFinishedImpl):
3005         * inspector/InspectorInstrumentation.h:
3006         (WebCore::InspectorInstrumentation::playbackFinished):
3007         * inspector/InspectorReplayAgent.cpp:
3008         (WebCore::buildInspectorObjectForSegment):
3009         (WebCore::InspectorReplayAgent::playbackFinished):
3010         * inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector
3011         instrumentation. This is fired by ReplayController when playback is cancelled or 
3012         playback of the final segment has completed.
3013
3014         * replay/EventLoopInputDispatcher.cpp:
3015         (WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
3016         (WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
3017         false when m_running is false.
3018         * replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.
3019         (WebCore::EventLoopInputDispatcher::isRunning): Added.
3020
3021         * replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the
3022         Functor subclass cannot be put into a unique_ptr. Add create() method instead.
3023
3024         * replay/ReplayController.cpp:
3025         (WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
3026         now pass in the desired segment index rather than the segment itself. The index is
3027         necessary to properly reset m_position after the segment is loaded.
3028
3029         (WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
3030         (WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
3031         (WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
3032         (WebCore::ReplayController::replayToPosition):
3033         (WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
3034         manually adjust the final m_position and defer to cancelPlayback to unload the segment.
3035         * replay/ReplayController.h:
3036         * replay/ReplaySessionSegment.cpp:
3037         (WebCore::ReplaySessionSegment::createFunctorCursor):
3038         * replay/ReplaySessionSegment.h:
3039
3040 2014-03-20  Pratik Solanki  <psolanki@apple.com>
3041
3042         [iOS] Get code to compile on older iOS versions
3043         https://bugs.webkit.org/show_bug.cgi?id=130142
3044         <rdar://problem/16302908>
3045
3046         Reviewed by Darin Adler.
3047
3048         * WebCore.exp.in:
3049         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3050         (-[WebVideoFullscreenController WebCore::]):
3051         (-[WebVideoFullscreenController enterFullscreen:]):
3052         (-[WebVideoFullscreenController exitFullscreen]):
3053         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3054         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3055         * platform/mac/HTMLConverter.mm:
3056         (_dateForString):
3057         * platform/network/cf/CookieJarCFNet.cpp:
3058         (WebCore::copyCookiesForURLWithFirstPartyURL):
3059         * platform/text/ios/LocalizedDateCache.mm:
3060         (WebCore::LocalizedDateCache::calculateMaximumWidth):
3061         * platform/text/mac/LocaleMac.mm:
3062         (WebCore::LocaleMac::LocaleMac):
3063
3064 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
3065
3066         Followup build fix: AnimationBase.h needs to be private because
3067         it's included by AnimationController.h.
3068
3069         * WebCore.xcodeproj/project.pbxproj:
3070
3071 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
3072
3073         A completed fill-forwards animation should not disable overlap testing
3074         https://bugs.webkit.org/show_bug.cgi?id=130522
3075         <rdar://problem/15862395>
3076
3077         Reviewed by Dean Jackson.
3078         
3079         Previously, if -webkit-transform was being keyframe-animated, and the
3080         animation had fill-forwards, then we would continue to think that the
3081         animation is running and turn off compositing overlap testing. This
3082         caused some sites to keep too much backing store around.
3083         
3084         Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
3085         so that more specific questions about the running state can be asked.
3086         For layer creation, keep using the same criteria as before (for now)
3087         which includes paused and fill-forwards animations. For overlap testing,
3088         don't include the fill-forwards test.
3089
3090         Tests: compositing/animation/filling-animation-overlap-at-end.html
3091                compositing/animation/filling-animation-overlap.html
3092                compositing/animation/layer-for-filling-animation.html
3093
3094         * page/animation/AnimationBase.h:
3095         (WebCore::AnimationBase::fillingForwards):
3096         (WebCore::AnimationBase::inPausedState):
3097         (WebCore::AnimationBase::isAnimatingProperty):
3098         * page/animation/AnimationController.cpp:
3099         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
3100         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
3101         (WebCore::AnimationController::isRunningAnimationOnRenderer):
3102         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
3103         * page/animation/AnimationController.h:
3104         * page/animation/AnimationControllerPrivate.h:
3105         * page/animation/CompositeAnimation.cpp:
3106         (WebCore::CompositeAnimation::isAnimatingProperty):
3107         * page/animation/CompositeAnimation.h:
3108         * rendering/RenderLayerBacking.cpp:
3109         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3110         * rendering/RenderLayerCompositor.cpp:
3111         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3112         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
3113
3114 2014-03-20  Dirk Schulze  <krit@webkit.org>
3115
3116         Canvas methods clip/fill/stroke should not except 0 argument
3117         https://bugs.webkit.org/show_bug.cgi?id=130497
3118
3119         Reviewed by Dean Jackson.
3120
3121         Do not allow nullable argument for fill/stroke/clip.
3122
3123         No new tests. Updated existing tests.
3124
3125         * html/canvas/CanvasRenderingContext2D.idl:
3126
3127 2014-03-20  Eric Carlson  <eric.carlson@apple.com>
3128
3129         [iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
3130         https://bugs.webkit.org/show_bug.cgi?id=130520
3131
3132         Reviewed by Jer Noble.
3133
3134         * dom/DOMImplementation.cpp:
3135         (WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting 
3136             when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.
3137
3138 2014-03-20  Mihai Tica  <mitica@adobe.com>
3139
3140         [CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
3141         https://bugs.webkit.org/show_bug.cgi?id=129307
3142
3143         Reviewed by Dean Jackson.
3144
3145         Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
3146         contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
3147         to track child elements that have blending and create a transparency layer that triggers isolation.
3148
3149         Tests: css3/compositing/blend-mode-background.html
3150                fast/repaint/blend-mode-isolate-stacking-context.html
3151
3152         * rendering/RenderLayer.cpp:
3153         (WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
3154         (WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
3155         (WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):
3156         - Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.
3157         (WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):
3158         - Set flag so isolation should be considered in updateDescendantDependentFlags.
3159         (WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):
3160         - Return whether the non composited parent stacking context isolates blending.
3161         (WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
3162         (WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
3163         (WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
3164         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
3165         (WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.
3166          Update parent stacking context isolation on blend mode change.
3167         * rendering/RenderLayer.h:
3168         - Add members, getters and setters for tracking whether the element has a blended child:
3169             - m_hasBlendedElementInChildStackingContext
3170             - m_hasBlendedElementInChildStackingContextStatusDirty
3171         - Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
3172         - Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
3173         - Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
3174         * rendering/RenderLayerCompositor.cpp:
3175         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.
3176
3177 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
3178
3179         [GTK] [CMake] Do not compile ProxyResolverSoup.cpp
3180         https://bugs.webkit.org/show_bug.cgi?id=130516
3181
3182         Reviewed by Sergio Villar Senin.
3183
3184         * PlatformGTK.cmake: Remove the file from the source list.
3185
3186 2014-03-20  Commit Queue  <commit-queue@webkit.org>
3187
3188         Unreviewed, rolling out r165962.
3189         https://bugs.webkit.org/show_bug.cgi?id=130512
3190
3191         It broke the build (Requested by Ossy on #webkit).
3192
3193         Reverted changeset:
3194
3195         "[EFL][GTK] Get CMake to find Freetype2 properly"
3196         https://bugs.webkit.org/show_bug.cgi?id=130150
3197         http://trac.webkit.org/changeset/165962
3198
3199 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
3200
3201         "input" event is not fired when changing a select element's value
3202         https://bugs.webkit.org/show_bug.cgi?id=117526
3203
3204         Reviewed by Antti Koivisto.
3205
3206         Add a call to dispatch input event when listbox or menulist
3207         values are modified.
3208
3209         According to the spec: "When the user agent is to send select update
3210         notifications, queue a task to first fire a simple even that bubbles
3211         named input at the select element, and then fire a simple event that
3212         bubbles named change at the select element, using the user interaction
3213         task source as the task source."
3214
3215         Tests: fast/forms/select/listbox-oninput-fired.html
3216                fast/forms/select/menulist-oninput-fired.html
3217
3218         * html/HTMLSelectElement.cpp:
3219         (WebCore::HTMLSelectElement::listBoxOnChange):
3220         (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):
3221
3222 2014-03-20  Radu Stavila  <stavila@adobe.com>
3223
3224         [CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
3225         https://bugs.webkit.org/show_bug.cgi?id=129487
3226
3227         Reviewed by Andrei Bucur.
3228
3229         When propagating the layout overflow from the flowed element up to the flow thread itself,
3230         the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
3231         However, if the flowed element has overflow, the overflow will be painted over the region's padding
3232         and the element's margin, in order to be compatible with the non-regions case.
3233         More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html
3234
3235         Tests: fast/regions/scrollable-region-content-size-horiz-bt.html
3236                fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
3237                fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
3238                fast/regions/scrollable-region-content-size-no-overflow.html
3239                fast/regions/scrollable-region-content-size-relative.html
3240                fast/regions/scrollable-region-content-size-vert-rl.html
3241                fast/regions/scrollable-region-content-size-vertical-lr.html
3242                fast/regions/scrollable-region-content-size.html
3243                fast/regions/scrollable-region-scrollable-content.html
3244
3245         * rendering/RenderFlowThread.cpp:
3246         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
3247         * rendering/RenderRegion.cpp:
3248         (WebCore::RenderRegion::rectFlowPortionForBox):
3249
3250 2014-03-20  Zalan Bujtas  <zalan@apple.com>
3251
3252         Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
3253         https://bugs.webkit.org/show_bug.cgi?id=130153
3254
3255         Reviewed by Simon Fraser.
3256
3257         Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
3258         need to be propagated through the layer tree so that painting coordinates match layout coordinates.
3259
3260         Subpixel accumulation through nesting (absolute positioning, 2x display):
3261         non-compositing case:
3262         (nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
3263         div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
3264          div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
3265           div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
3266            div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px
3267
3268         compositing case:
3269         (nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
3270         div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
3271          div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
3272           div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
3273            div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px
3274
3275         Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
3276                fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html
3277
3278         * rendering/RenderLayer.cpp:
3279         (WebCore::RenderLayer::paintLayerByApplyingTransform):
3280         * rendering/RenderLayerBacking.cpp:
3281         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3282         * rendering/RenderLayerBacking.h:
3283         (WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):
3284
3285 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3286
3287         [EFL][GTK] Get CMake to find Freetype2 properly
3288         https://bugs.webkit.org/show_bug.cgi?id=130150
3289
3290         Reviewed by Csaba Osztrogonác.
3291
3292         Newer versions of CMake are not able to find Freetype2 correctly.
3293         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
3294         freetype2 repo, because a completely different version number is found in freetype2.pc.
3295
3296         * PlatformEfl.cmake:
3297         * PlatformGTK.cmake:
3298
3299 2014-03-20  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3300
3301         Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
3302         https://bugs.webkit.org/show_bug.cgi?id=130241
3303
3304         Reviewed by Philippe Normand.
3305
3306         The channel was passed around only to check its state. Cleaned this up
3307         by adding a method to check whether a log channel is enabled.
3308
3309         * platform/Logging.cpp:
3310         (WebCore::isLogChannelEnabled):
3311         * platform/Logging.h:
3312         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3313         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
3314
3315 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
3316
3317         Dispatch input event for Range element keyboard event
3318         https://bugs.webkit.org/show_bug.cgi?id=129929
3319
3320         Reviewed by Kent Tamura.
3321
3322         For any value update, dispatch both input and change event.
3323         Also removes extra dispatch change event, as event is dispatched
3324         from TextFieldInputType:setValue.
3325
3326         Merged from Blink (patch by Habib Virji):
3327         https://src.chromium.org/viewvc/blink?revision=168558&view=revision
3328
3329         Test: fast/forms/range/range-keyboard-oninput-event.html
3330
3331         * html/RangeInputType.cpp:
3332         (WebCore::RangeInputType::handleKeydownEvent):
3333
3334 2014-03-20  Jinwoo Song  <jinwoo7.song@samsung.com>
3335
3336         Refine BatteryStatus module
3337         https://bugs.webkit.org/show_bug.cgi?id=130495
3338
3339         Reviewed by Andreas Kling.
3340
3341         Small refinements:
3342          - Return PassRef instead of PassRefPtr in create method
3343          - Switched to nullptr instead of 0 where appropriate.
3344          - Removed unused function and header file.
3345          - Removed unnecessary empty lines.
3346
3347         * Modules/battery/BatteryController.h:
3348         * Modules/battery/BatteryManager.cpp:
3349         (WebCore::BatteryManager::create): Make return passRef.
3350         * Modules/battery/BatteryManager.h:
3351         (WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.
3352         * Modules/battery/BatteryStatus.cpp:
3353         (WebCore::BatteryStatus::create): Make return passRef.
3354         * Modules/battery/BatteryStatus.h:
3355         * Modules/battery/NavigatorBattery.cpp:
3356         (WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().
3357         * Modules/battery/NavigatorBattery.h:
3358
3359 2014-03-19  Pratik Solanki  <psolanki@apple.com>
3360
3361         [iOS] Get code to compile on older iOS versions
3362         https://bugs.webkit.org/show_bug.cgi?id=130142
3363         <rdar://problem/16302908>
3364
3365         Reviewed by Darin Adler.
3366
3367         * WebCore.exp.in:
3368         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3369         (-[WebVideoFullscreenController WebCore::]):
3370         (-[WebVideoFullscreenController enterFullscreen:]):
3371         (-[WebVideoFullscreenController exitFullscreen]):
3372         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3373         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3374         * platform/mac/HTMLConverter.mm:
3375         (_dateForString):
3376         * platform/network/cf/CookieJarCFNet.cpp:
3377         (WebCore::copyCookiesForURLWithFirstPartyURL):
3378         * platform/text/ios/LocalizedDateCache.mm:
3379         (WebCore::LocalizedDateCache::calculateMaximumWidth):
3380         * platform/text/mac/LocaleMac.mm:
3381         (WebCore::LocaleMac::LocaleMac):
3382
3383 2014-03-19  Byungseon Shin  <sun.shin@lge.com>
3384
3385         Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
3386         https://bugs.webkit.org/show_bug.cgi?id=130292
3387
3388         Reviewed by Dean Jackson.
3389
3390         WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.
3391
3392         * html/canvas/WebGLRenderingContext.cpp:
3393         (WebCore::WebGLRenderingContext::getExtension):
3394
3395 2014-03-19  Brent Fulgham  <bfulgham@apple.com>
3396
3397         Merge Misc. WebVTT Updates from Blink.
3398         https://bugs.webkit.org/show_bug.cgi?id=130491
3399
3400         Reviewed by Eric Carlson.
3401
3402         Test: media/track/track-webvtt-tc030-interspersed-non-cue.html
3403
3404         Merged from Blink (patch by vcarbune@chromium.org):
3405         https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
3406         http://crbug.com/40323003
3407         https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
3408         http://crbug.com/54463002
3409         https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
3410         http://crbug.com/55853002
3411         https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
3412         http://crbug.com/65343003
3413         https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
3414         http://crbug.com/62833005
3415         https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
3416         http://crbug.com/64273013
3417         https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
3418         http://crbug.com/101513002
3419         https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
3420         http://crbug.com/102403002
3421         https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
3422         http://crbug.com/104443002
3423         https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
3424         http://crbug.com/75243004
3425
3426         * html/track/TextTrackRegion.cpp:
3427         (WebCore::TextTrackRegion::parseSettingValue):
3428         * html/track/VTTCue.cpp:
3429         (WebCore::VTTCue::markFutureAndPastNodes):
3430         (WebCore::VTTCue::setCueSettings):
3431         * html/track/WebVTTParser.cpp:
3432         (WebCore::scanDigits):
3433         (WebCore::WebVTTParser::collectDigitsToInt):
3434         (WebCore::WebVTTParser::parseFloatPercentageValue):
3435         (WebCore::WebVTTParser::parseBytes):
3436         (WebCore::WebVTTParser::collectMetadataHeader):
3437         (WebCore::WebVTTParser::collectTimingsAndSettings):
3438         (WebCore::WebVTTParser::createDocumentFragmentFromCueText):
3439         (WebCore::WebVTTParser::createNewCue):
3440         (WebCore::WebVTTParser::createNewRegion):
3441         (WebCore::WebVTTParser::collectTimeStamp):
3442         (WebCore::tokenToNodeType):
3443         (WebCore::WebVTTParser::constructTreeFromToken):
3444         * html/track/WebVTTParser.h:
3445         * html/track/WebVTTToken.h:
3446         (WebCore::WebVTTToken::name):
3447         (WebCore::WebVTTToken::characters):
3448         (WebCore::WebVTTToken::appendToCharacter):
3449         (WebCore::WebVTTToken::addNewClass):
3450         (WebCore::WebVTTToken::classes):
3451         (WebCore::WebVTTToken::addNewAnnotation):
3452         (WebCore::WebVTTToken::annotation):
3453         * html/track/WebVTTTokenizer.cpp:
3454         (WebCore::equalLiteral):
3455         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
3456         (WebCore::WebVTTTokenizer::nextToken):
3457         * html/track/WebVTTTokenizer.h:
3458
3459 2014-03-19  Mark Hahnenberg  <mhahnenberg@apple.com>
3460
3461         GC timer should intelligently choose between EdenCollections and FullCollections
3462         https://bugs.webkit.org/show_bug.cgi?id=128261
3463
3464         Reviewed by Geoffrey Garen.
3465
3466         No new tests.
3467
3468         Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
3469