Source/JavaScriptCore: [Win] Pass environment to Pre-Build, Pre-link, and Post-Build...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
2
3         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
4         https://bugs.webkit.org/show_bug.cgi?id=130023.
5
6         Reviewed by Dean Jackson.
7
8         * WebCore.vcxproj/WebCore.proj: Avoid trailing slashes in path values to
9         prevent escaping during later string substitution.
10
11 2014-03-10  Radu Stavila  <stavila@adobe.com>
12
13         [CSS Regions] Hit-testing is not working properly inside scrollable regions
14         https://bugs.webkit.org/show_bug.cgi?id=130015
15
16         Reviewed by Antti Koivisto.
17
18         When hit-testing inside the flow thread's layer, the scrolled offset
19         of the current region must be taken into consideration.
20
21         Test: fast/regions/scrollable-regions-hit-testing-inside.html
22
23         * rendering/RenderLayer.cpp:
24         (WebCore::RenderLayer::calculateClipRects):
25
26 >>>>>>> .r165392
27 2014-03-10  Hans Muller  <hmuller@adobe.com>
28
29         [CSS Shapes] SVG Image valued shape fails if root element's size is relative
30         https://bugs.webkit.org/show_bug.cgi?id=128983
31
32         Reviewed by Simon Fraser.
33
34         When creating a shape based on an Image, compute its dimensions using
35         RenderBoxModelObject::calculateImageIntrinsicDimensions(), then set the
36         ImageResource's containerSize, and then use imageForRenderer() to get the
37         image to be drawn. The first step resolves SVG Image relative sizes, the
38         second step creates and caches an SVGImageForContainer with the correct
39         containerSize, and the last step retrieves the SVGImageForContainer.
40
41         Test: fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html
42
43         * rendering/RenderBoxModelObject.h: Publicized calculateImageIntrinsicDimensions() and its enum.
44         * rendering/shapes/Shape.cpp:
45         (WebCore::Shape::createRasterShape):
46         * rendering/shapes/Shape.h:
47         * rendering/shapes/ShapeInfo.cpp:
48         (WebCore::getShapeImageAndRect):
49         (WebCore::ShapeInfo<RenderType>::computedShape):
50
51 2014-03-10  Darin Adler  <darin@apple.com>
52
53         TextIterator: Use StringView and references rather than pointers
54         https://bugs.webkit.org/show_bug.cgi?id=129975
55
56         Reviewed by Anders Carlsson.
57
58         TextIterator refinements:
59         - Use StringView instead of deprecatedCharacters to point to characters within strings.
60         - Added TextIteratorCopyableText, a safe way to copy the current text of a TextIterator,
61           for use by WordAwareIterator.
62         - Removed m_shouldStop; iterators stop by setting m_positionNode to null, and there is no
63           need for a separate boolean to do the same thing.
64         - Got rid of all the boolean data members set based on the text iterator behavior; instead
65           store the behavior in a data member and check it directly.
66         - Changed most functions to use references rather than pointers.
67         - Small micro-optimizations, such as using fastGetAttribute rather than getAttribute.
68         - Switched to nullptr instead of 0 where appropriate.
69         - Removed unused functions.
70         - Cut down on use of abbreviations instead of words.
71         - Renamed data members and argument names for clarity.
72         - Split up assertions that needlessly asserted more than one thing in a single expression.
73         - Treat CDATASection just like other Text, since its text will be visible.
74
75         * editing/Editor.cpp:
76         (WebCore::Editor::advanceToNextMisspelling): Pass reference rather than pointer.
77         (WebCore::Editor::rangeOfString): Ditto.
78         (WebCore::Editor::countMatchesForText): Ditto.
79         * editing/TextCheckingHelper.cpp:
80         (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto.
81
82         * editing/TextIterator.cpp:
83         (WebCore::depthCrossingShadowBoundaries): Take a reference rather than a pointer.
84         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
85         (WebCore::fullyClipsContents): Ditto.
86         (WebCore::ignoresContainerClip): Ditto.
87         (WebCore::pushFullyClippedState): Ditto.
88         (WebCore::setUpFullyClippedStack): Ditto.
89         (WebCore::isRendererReplacedElement): Use references rather than pointers in the
90         implementation. Also use fastGetAttribute instead of getAttribute.
91         (WebCore::TextIteratorCopyableText::reset): Added.
92         (WebCore::TextIteratorCopyableText::set): Added.
93         (WebCore::TextIteratorCopyableText::appendToStringBuilder): Added.
94         (WebCore::TextIterator::TextIterator): Use more initialization rather than assignment.
95         Got rid of some local variables.
96         (WebCore::TextIterator::advance): Removed the m_shouldStop boolean, uneeded.
97         Many other improvements. Use isTextNode instead of nodeType.
98         (WebCore::hasVisibleTextNode): Changed this into a file-private helper function
99         instead of a member function.
100         (WebCore::TextIterator::handleTextNode): Used references and cut down on type casts.
101         Gave local variables clearer names.
102         (WebCore::TextIterator::handleTextBox): More of the same.
103         (WebCore::TextIterator::handleTextNodeFirstLetter): Ditto.
104         (WebCore::TextIterator::handleReplacedElement): Ditto.
105         (WebCore::shouldEmitTabBeforeNode): Ditto.
106         (WebCore::hasHeaderTag): Added.
107         (WebCore::shouldEmitNewlinesBeforeAndAfterNode): More of the same.
108         (WebCore::shouldEmitNewlineAfterNode): Ditto.
109         (WebCore::shouldEmitNewlineBeforeNode): Ditto.
110         (WebCore::shouldEmitExtraNewlineForNode): Ditto.
111         (WebCore::collapsedSpaceLength): Use StringImpl directly instead of using the
112         deprecatedCharacters function.
113         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): More like above.
114         (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): Ditto.
115         (WebCore::TextIterator::representNodeOffsetZero): Ditto.
116         (WebCore::TextIterator::handleNonTextNode): Ditto.
117         (WebCore::TextIterator::exitNode): Ditto.
118         (WebCore::TextIterator::emitCharacter): Changed to use the new copyable text class
119         instead of managing the single character buffer directly here.
120         (WebCore::TextIterator::emitText): Changed to take a Text& and use the copyable text
121         class. Added a FIXME about a mistake I noticed.
122         (WebCore::TextIterator::range): Streamlined and simplified a bit. Updated data
123         member names to be a bit clearer. This function never returned null before, but there
124         was a code path that looked like it would; I removed that.
125         (WebCore::TextIterator::node): Removed unneeded null checks; the range function will
126         never return a range of null or one with null for a start container.
127         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): More
128         like above.
129         (WebCore::SimplifiedBackwardsTextIterator::advance): Reorganized a bit and removed
130         m_shouldStop.
131         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): More of the same.
132         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Ditto.
133         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
134         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
135         (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
136         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
137         (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): Ditto.
138         (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
139         (WebCore::CharacterIterator::CharacterIterator): Ditto.
140         (WebCore::CharacterIterator::range): Ditto. No need for ASSERT_NO_EXCEPTION.
141         (WebCore::CharacterIterator::advance): Ditto.
142         (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Ditto.
143         (WebCore::BackwardsCharacterIterator::range): Ditto.
144         (WebCore::BackwardsCharacterIterator::advance): Ditto.
145         (WebCore::WordAwareIterator::WordAwareIterator): Ditto.
146         (WebCore::WordAwareIterator::advance): Use copyableText for m_previousText, fixing
147         the FIXME that I wrote in here before.
148         (WebCore::WordAwareIterator::text): Ditto.
149         (WebCore::containsKanaLetters): Changed to quickly return false when the pattern
150         is all Latin-1 rather than expanding to 16-bit just to check.
151         (WebCore::SearchBuffer::SearchBuffer): Iterate the target using the string operator[]
152         instead of using deprecatedCharacters.
153         (WebCore::SearchBuffer::append): Do the folding of quote marks and hyphens one character
154         at a time as we move characters into the buffer instead of in a separate loop.
155         (WebCore::TextIterator::rangeLength): Updated for changes eslwehere.
156         (WebCore::TextIterator::subrange): Ditto.
157         (WebCore::isInsideReplacedElement): Ditto. Also streamlined and removed unneeded null check.
158         (WebCore::TextIterator::rangeFromLocationAndLength): Updated for changes elsewhere and
159         removed unneeded ASSERT_NO_EXCEPTION.
160         (WebCore::plainText): Ditto.
161         (WebCore::collapsedToBoundary): Ditto.
162         (WebCore::findPlainText): Ditto.
163
164         * editing/TextIterator.h: Changed many functions to take references instead of pointers.
165         Added TextIteratorCopyableText, to represent the current text in a TextIterator in a form
166         that can be safely copied and used after further iteration. Reorganized member functions so
167         they are in the same order in all the classes. Changed TextIterator to use
168         TextIteratorCopyableText. Removed many unused functions, including:
169         - TextIterator::length
170         - TextIterator::deprecatedTextIteratorCharacters
171         - TextIterator::characterAt
172         - SimplifiedBackwardsTextIterator::length
173         - CharacterIterator::length
174         - CharacterIterator::string
175         - WordAwareIterator::length
176         - WordAwareIterator::range
177
178         * editing/VisibleSelection.cpp:
179         (WebCore::VisibleSelection::appendTrailingWhitespace): Pass reference rather than pointer.
180         Use text().length() instead of length(). Check atEnd() before using CharacterIterator, since
181         iterator member functions don't work when at the end.
182         * editing/VisibleUnits.cpp:
183         (WebCore::previousBoundary): Ditto.
184         (WebCore::nextBoundary): Ditto.
185         * editing/htmlediting.cpp:
186         (WebCore::visiblePositionForIndexUsingCharacterIterator): Ditto.
187         * page/ios/FrameIOS.mm:
188         (WebCore::Frame::indexCountOfWordPrecedingSelection): Ditto.
189         (WebCore::Frame::wordsInCurrentParagraph): Ditto.
190
191 2014-03-10  Martin Robinson  <mrobinson@igalia.com>
192
193         [GTK] [CMake] Clean up library linking
194         https://bugs.webkit.org/show_bug.cgi?id=129782
195
196         Reviewed by Philippe Normand.
197
198         * PlatformGTK.cmake: Some files are duplicated on the source list of two convenience
199         libraries. Ensure that they are all compiled into WebCore instead of WebCorePlatformGTK.
200         Some simply need to be moved to WebCore from WebCorePlatformGTK. Don't try to link
201         WebCorePlatformGTK against WebCore -- convenience libraries should be able to save
202         their symbol resolution for the final linking step.
203
204 2014-03-10  Radu Stavila  <stavila@adobe.com>
205
206         [CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region's padding
207         https://bugs.webkit.org/show_bug.cgi?id=129485
208
209         Reviewed by Andrei Bucur.
210
211         When searching for the region under the mouse pointer (to identify which region to scroll), 
212         the localToAbsolute method must be called on the region container, not the region itself.
213         Also, when calling the offsetFromContainer method on a named flow fragment,
214         it must only take into consideration the border and padding of the fragment container,
215         not its scrolled offset.
216
217         Test: fast/regions/wheel-scrollable-single-region.html
218
219         * rendering/RenderBox.cpp:
220         (WebCore::RenderBox::scroll):
221         * rendering/RenderFlowThread.cpp:
222         * rendering/RenderFlowThread.h:
223         * rendering/RenderNamedFlowFragment.cpp:
224         (WebCore::RenderNamedFlowFragment::offsetFromContainer):
225         * rendering/RenderNamedFlowFragment.h:
226         * rendering/RenderNamedFlowThread.cpp:
227         (WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
228         * rendering/RenderNamedFlowThread.h:
229
230 2014-03-10  Jinwoo Song  <jinwoo7.song@samsung.com>
231
232         Remove unused dispatchStorageEvent() from StorageAreaSync
233         https://bugs.webkit.org/show_bug.cgi?id=129999
234
235         Reviewed by Andreas Kling.
236
237         dispatchStorageEvent() is not used anywhere.
238
239         * storage/StorageAreaSync.h: Remove dispatchStorageEvent().
240
241 2014-03-09  Alexey Proskuryakov  <ap@apple.com>
242
243         iOS build fix.
244
245         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent):
246
247 2014-03-06  Alexey Proskuryakov  <ap@apple.com>
248
249         [Mac] Don't perform a round-trip through WebProcess before interpreting key events
250         https://bugs.webkit.org/show_bug.cgi?id=129812
251
252         Reviewed by Darin Adler.
253
254         No significant behavior changes expected, except for Esc key processing, which now
255         dispatches a keypress before executing its default action.
256
257         * platform/KeypressCommand.h: Added.
258         (WebCore::KeypressCommand::KeypressCommand):
259         * GNUmakefile.list.am:
260         * WebCore.vcxproj/WebCore.vcxproj:
261         * WebCore.vcxproj/WebCore.vcxproj.filters:
262         * WebCore.xcodeproj/project.pbxproj:
263         Moved KeypressCommand from dom/KeyboardEvent.h to its own header, as it needed
264         in platform/ directory now.
265
266         * dom/KeyboardEvent.cpp:
267         (WebCore::KeyboardEvent::KeyboardEvent):
268         * dom/KeyboardEvent.h:
269         (WebCore::KeyboardEvent::handledByInputMethod):
270         (WebCore::KeyboardEvent::keypressCommands):
271         * platform/PlatformKeyboardEvent.h:
272         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
273         (WebCore::PlatformKeyboardEvent::handledByInputMethod):
274         (WebCore::PlatformKeyboardEvent::commands):
275         PlatformKeyboardEvent now carries results of interpreting the event by AppKit. This
276         is logically not much different from carrying charcode, and is similar to what Gtk
277         does for input methods.
278         KeyboardEvent already had keypress commands, which were added to it after construction.
279         It's still possible for WebKit1, while with WebKit2, they are provided at construction
280         time. The event now also has a boolean for whether IM handled it already.
281
282 2014-03-09  Zalan Bujtas  <zalan@apple.com>
283
284         Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
285         https://bugs.webkit.org/show_bug.cgi?id=129985
286
287         Reviewed by Simon Fraser.
288
289         This is in preparation to stop passing integral positioned boxes to transform animations.
290
291         No change in behavior.
292
293         * WebCore.exp.in:
294         * platform/graphics/GraphicsLayer.h:
295         (WebCore::GraphicsLayer::addAnimation):
296         * platform/graphics/ca/GraphicsLayerCA.cpp:
297         (WebCore::getTransformFunctionValue):
298         (WebCore::GraphicsLayerCA::addAnimation):
299         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
300         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
301         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
302         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
303         * platform/graphics/ca/GraphicsLayerCA.h:
304         * rendering/RenderLayerBacking.cpp:
305         (WebCore::RenderLayerBacking::startTransition):
306
307 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
308
309         [iOS Wk2] Can't scroll after going back to page in page cache
310         https://bugs.webkit.org/show_bug.cgi?id=129989
311         <rdar://problem/16217588>
312
313         Reviewed by Dan Bernstein.
314
315         iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
316         function that is called instead of FrameView::forceLayout(). This was unimplemented
317         for the WK2 FrameLoaderClient, so no layout was forced, with the result
318         that the contentSize was never updated and scrolling was broken.
319         
320         Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
321         and having it return a bool to say whether the default forceLayout()
322         should be done. WK1 can then continue to have its custom behavior,
323         and Wk2 will simply do a forceLayout().
324         
325         Also remove FrameLaoderClient::forceLayout(), which was never called.
326
327         * loader/EmptyClients.h:
328         * loader/FrameLoader.cpp:
329         (WebCore::FrameLoader::commitProvisionalLoad):
330         * loader/FrameLoaderClient.h:
331
332 2014-03-08  Simon Fraser  <simon.fraser@apple.com>
333
334         [iOS WK2] Get position:fixed working slighlty better
335         https://bugs.webkit.org/show_bug.cgi?id=129988
336
337         Reviewed by Dan Bernstein.
338
339         On iOS we want to use the viewport-constrained visible rect, not
340         just the visible rect.
341
342         * page/scrolling/AsyncScrollingCoordinator.cpp:
343         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
344
345 2014-03-07  Simon Fraser  <simon.fraser@apple.com>
346
347         [iOS] Don't call scrollOffsetForFixedPosition a second time if we have no header and footer layers
348         https://bugs.webkit.org/show_bug.cgi?id=129912
349
350         Reviewed by Tim Horton.
351
352         Avoid extra work if we have no header or footer layers.
353
354         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
355         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
356
357 2014-03-08  Zalan Bujtas  <zalan@apple.com>
358
359         RenderElement::valueForLength() callers misuse bool parameter.
360         https://bugs.webkit.org/show_bug.cgi?id=129982
361
362         Reviewed by Andreas Kling.
363
364         Remove bogus RenderView* parameter.
365
366         * rendering/RenderBox.cpp:
367         (WebCore::RenderBox::computePercentageLogicalHeight):
368         * rendering/RenderElement.cpp:
369         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
370
371 2014-03-08  Jeremy Jones  <jeremyj@apple.com>
372
373         Allow media element to supply the video layer after fullscreen transition has already begun.
374         https://bugs.webkit.org/show_bug.cgi?id=129870
375
376         Reviewed by Eric Carlson.
377
378         Instead of borrowing the videolayer from the HTMLMediaElement, WebVideoFullscreen now supplies a layer to HTMLMediaElement to fill in as needed and at the appropriate time.
379
380         This allows fullscreen even if the video layer hasn't yet been created. And in the future it allows MediaPlayer to supply other layers such as closed captions. 
381
382         * WebCore.exp.in:
383         Remove exports related to borrowing and lend the video layer.
384         Add exports for supplying a layer to fullscreen and keepying the frame and gravity properties in sync.
385
386         * html/HTMLMediaElement.cpp:
387         Remove the concept of borrowing the platform layer.
388         Add the concept of a supplied m_videoFullscreenLayer, into which the media player can add layers.
389         When the m_videoFullscreenFrame is supplied, don't show the video layer inline any more.
390         Stash video layer properties in case the media player is not yet created.
391
392         (WebCore::HTMLMediaElement::HTMLMediaElement):
393         Initialize gravity to the default. Remove m_platformLayerBorrowed.
394
395         (WebCore::HTMLMediaElement::platformLayer):
396         When we have a m_videoFullscreenLayer, don't show video inline.
397
398         (WebCore::HTMLMediaElement::setVideoFullscreenLayer):
399         Pass along the m_videoFullscreenLayer to the MediaPlayer if available or just stash it for later.
400
401         (WebCore::HTMLMediaElement::createMediaPlayer):
402         Pass along video fullscreen properties that we may have accumulated before the MediaPlayer was created.
403
404         (WebCore::HTMLMediaElement::setVideoFullscreenGravity):
405         Stash the gravity property, pass it along to the media player if possible.
406
407         * html/HTMLMediaElement.h:
408         Remove concept of borrowing the video layer. Add properties for a supplied videoFullscreenLayer.
409
410         * platform/graphics/MediaPlayer.cpp:
411         (WebCore::MediaPlayer::setVideoFullscreenLayer):
412         Forward on to internal implementation.
413
414         (WebCore::MediaPlayer::setVideoFullscreenFrame):
415         Forward on to internal implementation.
416
417         (WebCore::MediaPlayer::setVideoFullscreenGravity):
418         Forward on to internal implementation.
419
420         * platform/graphics/MediaPlayer.h:
421         Add methods for video fullscreen Layer, Frame and Gravity.
422
423         * platform/graphics/MediaPlayerPrivate.h:
424         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenLayer):
425         Add default implementation.
426
427         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenFrame):
428         Add default implementation.
429         
430         (WebCore::MediaPlayerPrivateInterface::setVideoFullscreenGravity):
431         Add default implementation.
432         
433         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
434         Add support for fullscreen video layer, frame and gravity.
435
436         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
437         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
438         Init m_videoFullscreenGravity. 
439
440         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
441         Apply cached properties once video layer is created and add to the fullscreen layer.
442
443         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
444         Cache the property value. Add video layer right away available.
445
446         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame):
447         Cache the property value. Apply to video layer right away if available.
448
449         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
450         Cache the property value. Apply to video layer right away if available.
451
452         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
453         Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
454
455         (-[WebVideoFullscreenController enterFullscreen:]):
456         Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.
457
458         (-[WebVideoFullscreenController didExitFullscreen]):
459         Clean up the videoFullscreenLayer.
460
461         * platform/ios/WebVideoFullscreenInterface.h:
462         Remove methods related to lending the video layer.
463
464         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
465         Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
466         Remove functions related to lending the video layer.
467         Supply a layer directly to enterFullscreen.
468
469         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
470         (+[WebAVVideoLayer videoLayer]):
471         Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
472
473         (-[WebAVVideoLayer setPlayerController:]):
474         Store the AVPlayerController to prevent AVKit's default behavior.
475
476         (-[WebAVVideoLayer setBounds:]):
477         Forward this onto the WebVideoFullscreenModel
478
479         (-[WebAVVideoLayer setVideoLayerGravity:]):
480         Forward this onto the WebVideoFullscreenModel
481
482         (-[WebAVVideoLayer videoLayerGravity]):
483         Forward this onto the WebVideoFullscreenModel
484
485         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
486         Supply a video layer directly instead of relying on one being previously loaned.
487
488         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
489         Clean-up now assumes there is a video layer.
490
491         * platform/ios/WebVideoFullscreenModel.h:
492         Remove methods for borrowing and returning video layers.
493         Add methods for keeping video layer state in sync.
494
495         * platform/ios/WebVideoFullscreenModelMediaElement.h:
496         Remove methods for borrowing and returning video layers.
497         Add method for supplying a video fullscreen layer.
498         Add methods for keeping video layer state in sync.
499
500         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
501         (WebVideoFullscreenModelMediaElement::setMediaElement):
502         Handle audio element case by setting hasVideo to false.
503
504         (WebVideoFullscreenModelMediaElement::setVideoFullscreenLayer):
505         Pass along the video fullscreen layer to the media element.
506
507         (WebVideoFullscreenModelMediaElement::setVideoLayerFrame):
508         Pass along the video layer frame to the media element.
509
510         (WebVideoFullscreenModelMediaElement::setVideoLayerGravity):
511         Pass along the video layer gravity to the media element.
512
513 2014-03-08  Jae Hyun Park  <jaepark@webkit.org>
514
515         Clean up PlatformLayer.h
516         https://bugs.webkit.org/show_bug.cgi?id=129967
517
518         Reviewed by Martin Robinson.
519
520         * platform/graphics/PlatformLayer.h:
521         Remove duplicated declaration of PlatformLayer when using TextureMapper.
522
523 2014-03-08  Zalan Bujtas  <zalan@apple.com>
524
525         Subpixel rendering: Simple compositing container layer (isSimpleContainerCompositingLayer) paints to wrong position.
526         https://bugs.webkit.org/show_bug.cgi?id=129861
527
528         Reviewed by Simon Fraser.
529
530         This patch ensures that both the simple and non-simple cases paint to the same position.
531         Simple compositing container layer codepath needs to take the fractional device pixel offset
532         into account when painting. Without the fractional value, the final paint rounding could push the
533         paint offset to a different position.
534         retina example:
535         compositing top-left: 0px 0px.
536         fractional offset: 0.3px 0.3px
537         painting coords without offseting: 0px 0px
538                            with offseting: 0.5px 0.5px
539
540         Tests: compositing/hidpi-simple-container-layer-on-device-pixel.html
541
542         * WebCore.exp.in:
543         * platform/graphics/GraphicsLayer.h:
544         (WebCore::GraphicsLayer::contentsRect):
545         (WebCore::GraphicsLayer::setContentsRect):
546         (WebCore::GraphicsLayer::contentsClippingRect):
547         (WebCore::GraphicsLayer::setContentsClippingRect):
548         * platform/graphics/ca/GraphicsLayerCA.cpp:
549         (WebCore::GraphicsLayerCA::setContentsRect):
550         (WebCore::GraphicsLayerCA::setContentsClippingRect):
551         (WebCore::GraphicsLayerCA::updateContentsRects):
552         * platform/graphics/ca/GraphicsLayerCA.h:
553         * rendering/RenderLayerBacking.cpp:
554         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
555         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
556         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
557         (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
558         (WebCore::RenderLayerBacking::backgroundBoxForPainting):
559         * rendering/RenderLayerBacking.h:
560
561 2014-03-08  Oliver Hunt  <oliver@apple.com>
562
563         SerializedScriptValue may move Identifiers between worlds
564         https://bugs.webkit.org/show_bug.cgi?id=129979
565
566         Reviewed by Andreas Kling.
567
568         Test: fast/workers/worker-copy-shared-blob-url.html
569
570         Don't use Strings to store blob URLs as String's may be Identifiers
571         and they can only exist in one world/thread at a time.
572
573         * Modules/indexeddb/IDBObjectStore.cpp:
574         (WebCore::IDBObjectStore::put):
575         * bindings/js/SerializedScriptValue.cpp:
576         (WebCore::CloneDeserializer::deserializeString):
577         (WebCore::SerializedScriptValue::addBlobURL):
578         (WebCore::SerializedScriptValue::SerializedScriptValue):
579         * bindings/js/SerializedScriptValue.h:
580
581 2014-03-07  Timothy Hatcher  <timothy@apple.com>
582
583         Load source maps and their resources asynchronously.
584
585         https://bugs.webkit.org/show_bug.cgi?id=112071
586
587         Reviewed by Joseph Pecoraro.
588
589         * inspector/InspectorPageAgent.cpp:
590         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
591         Honor the hiddenFromInspector flag.
592
593         * inspector/InspectorResourceAgent.cpp:
594         (WebCore::InspectorResourceAgent::willSendRequest):
595         (WebCore::InspectorResourceAgent::markResourceAsCached):
596         (WebCore::InspectorResourceAgent::didReceiveResponse):
597         (WebCore::InspectorResourceAgent::didReceiveData):
598         (WebCore::InspectorResourceAgent::didFinishLoading):
599         (WebCore::InspectorResourceAgent::didFailLoading):
600         (WebCore::InspectorResourceAgent::replayXHR):
601         (WebCore::InspectorResourceAgent::loadResource):
602         * inspector/InspectorResourceAgent.h:
603         Honor the hiddenFromInspector flag by keeping track of
604         hidden identifiers in a HashSet.
605
606         * inspector/protocol/Network.json:
607         (Network.loadResource): Added.
608
609         * platform/network/ResourceRequestBase.h:
610         (WebCore::ResourceRequestBase::hiddenFromInspector): Added.
611         (WebCore::ResourceRequestBase::setHiddenFromInspector): Added.
612         (WebCore::ResourceRequestBase::ResourceRequestBase):
613         Add a flag to hide the request from the Inspector.
614
615         * xml/XMLHttpRequest.cpp:
616         (WebCore::XMLHttpRequest::XMLHttpRequest):
617         (WebCore::XMLHttpRequest::sendForInspector): Added.
618         (WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Renamed.
619         (WebCore::XMLHttpRequest::createRequest):
620         * xml/XMLHttpRequest.h:
621         Make Inspector loads allow cross-origins and hide their request
622         from the Inspector itself.
623
624 2014-03-07  Tim Horton  <timothy_horton@apple.com>
625
626         [WebKit2][iOS] PDF
627         https://bugs.webkit.org/show_bug.cgi?id=129600
628         <rdar://problem/15260216>
629
630         Reviewed by Anders Carlsson.
631
632         * WebCore.exp.in:
633         * platform/MIMETypeRegistry.cpp:
634         (WebCore::initializeSupportedImageMIMETypes):
635         (WebCore::initializePDFMIMETypes):
636         (WebCore::initializePostScriptMIMETypes):
637         (WebCore::initializeMIMETypeRegistry):
638         (WebCore::MIMETypeRegistry::getPDFMIMETypes):
639         * platform/MIMETypeRegistry.h:
640         Split PDF and PostScript MIME types, so WebKit2 can retrieve just the PDF ones
641         without PostScript included.
642
643 2014-03-07  Myles C. Maxfield  <mmaxfield@apple.com>
644
645         Comment in RenderStyle is no longer accurate
646         https://bugs.webkit.org/show_bug.cgi?id=129956
647
648         Reviewed by Simon Fraser.
649
650         RenderStyle::createStyleInheritingFromPseudoStyle was moved from RenderImage. Before it
651         was moved, there was an image-specific comment in the function. However, that comment
652         is both irrelevant to RenderStyle, and incorrect as the function is necessary for
653         RenderQuotes as well.
654
655         No new tests are necessary because there is no behavior change.
656
657         * rendering/style/RenderStyle.cpp:
658         (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
659
660 2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
661
662         [WebRTC] Throw SYNTAX_ERROR when maxRetransmits and maxRetransmitTime are both set in RTCDataChannelInit
663         https://bugs.webkit.org/show_bug.cgi?id=129894
664
665         Reviewed by Eric Carlson.
666
667         Existing test was updated.
668
669         * Modules/mediastream/RTCDataChannel.cpp:
670         (WebCore::RTCDataChannel::create):
671
672 2014-03-07  Benjamin Poulain  <bpoulain@apple.com>
673
674         Fix the regression introduced by r165288
675         https://bugs.webkit.org/show_bug.cgi?id=129934
676
677         Reviewed by Ryosuke Niwa.
678
679         * page/DOMWindow.cpp:
680         (WebCore::DOMWindow::scrollX):
681         (WebCore::DOMWindow::scrollY):
682         We need to return the new value after layout, not the value from the dirty tree.
683
684 2014-03-07  Benjamin Poulain  <benjamin@webkit.org>
685
686         Traversal failure in a direct adjacent chain with tail backtracking lacks the path to clear the tail
687         https://bugs.webkit.org/show_bug.cgi?id=129863
688
689         Reviewed by Gavin Barraclough.
690
691         Direct adjacent backtracking use the stack to push the backtracking entry point and recover from there.
692         In case of traversal failure, their is no point in recovering from the indirect adjancent entry point and
693         we should clear entry point from the stack (which is the purpose of the tail).
694
695         The adjancent tail was missing the part for clearing the stack in one case.
696
697         The case with adjancent backtracking inside descendant backtracing was doing everything right. This patch
698         generalize this code and the correct tail is fully generated by generateAdjacentBacktrackingTail().
699
700         JumpToClearAdjacentDescendantTail becomes JumpToClearAdjacentTail, and this new backtracking state is added
701         to the missing traversal action.
702
703         Test: fast/selectors/long-adjacent-backtracking.html
704
705         * cssjit/SelectorCompiler.cpp:
706         (WebCore::SelectorCompiler::solveBacktrackingAction):
707         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
708         (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
709         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
710         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
711
712 2014-03-07  Andreas Kling  <akling@apple.com>
713
714         [Mac] Notify system malloc of fake memory pressure.
715         <https://webkit.org/b/129908>
716
717         After fixing the leak in r165252, I was surprised to find that it didn't
718         show up on memory test bots. It turns out that while the memory is now
719         getting freed, the system malloc implementation doesn't actually release
720         pages back to the OS until there is memory pressure.
721
722         Since we are just faking the memory pressure on bots, we have to let
723         system malloc in on the fun, so we can get representative numbers.
724         With this change, we should finally see the effect of not leaking the
725         URLRequest object tree.
726
727         Reviewed by Anders Carlsson.
728
729         * platform/mac/MemoryPressureHandlerMac.mm:
730         (WebCore::MemoryPressureHandler::install):
731
732             Tell system malloc that we are under fake memory pressure.
733
734 2014-03-07  Benjamin Poulain  <bpoulain@apple.com>
735
736         [iOS] WebKit1 scroll position is incorrect
737         https://bugs.webkit.org/show_bug.cgi?id=129905
738
739         Reviewed by Simon Fraser.
740
741         * page/DOMWindow.cpp:
742         (WebCore::DOMWindow::scrollX):
743         (WebCore::DOMWindow::scrollY):
744         A new optimization was avoiding layout if the position is zero. This was using the scrollX/Y instead
745         of actualScrollX/Y which caused us to always bail out instead of returning the value to JavaScript.
746
747         * platform/ScrollView.h:
748         (WebCore::ScrollView::actualScrollX):
749         (WebCore::ScrollView::actualScrollY):
750         (WebCore::ScrollView::actualScrollPosition):
751         This was accidentally changed to the iOS compat document visible rect at some point.
752
753 2014-03-07  Adenilson Cavalcanti  <cavalcantii@gmail.com>
754
755         Remove unused StdDeviation from Drop shadow effect
756         https://bugs.webkit.org/show_bug.cgi?id=129891
757
758         Reviewed by Dirk Schulze.
759
760         No new tests, no change on behavior.
761
762         * platform/graphics/filters/FEDropShadow.h:
763
764 2014-03-07  Brent Fulgham  <bfulgham@apple.com>
765
766         Correct out-of-band track selection logic.
767         https://bugs.webkit.org/show_bug.cgi?id=129900
768
769         Reviewed by Jer Noble.
770
771         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
772         (WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Correct test to
773         use inequality.
774
775 2014-03-07  Bear Travis  <betravis@adobe.com>
776
777         [CSS Shapes] Correctly serialize ellipse positions
778         https://bugs.webkit.org/show_bug.cgi?id=129700
779
780         Reviewed by Dirk Schulze.
781
782         Updating ellipse serialization to be in line with
783         the CSS Shapes spec. Positions should serialize as
784         2 or 4-value positions, converting keywords to
785         percentages where possible. This uses the same method
786         as circle position serialization (bug 129404).
787
788         Updated existing parsing tests.
789
790         * css/CSSBasicShapes.cpp:
791         (WebCore::CSSBasicShapeEllipse::cssText): Use the
792         normalization / serialization helpers for shape position.
793
794 2014-03-07  Brian Burg  <bburg@apple.com>
795
796         Unreviewed, rebaseline run-binding-tests results after r165242.
797
798         * bindings/scripts/test/JS/JSTestObj.cpp:
799         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
800         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
801         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
802
803 2014-03-07  Darin Adler  <darin@apple.com>
804
805         Remove non-working optimization that was attempted on iOS only
806         https://bugs.webkit.org/show_bug.cgi?id=129595
807         <rdar://problem/15798825>
808
809         Reviewed by Sam Weinig.
810
811         Code in GCController tried to optimize cases where the controller
812         was used, but no JavaScript had been run in the current process.
813         The code was never effective, and was iOS-only. Another way to fix
814         the problem would be to change the code so it works, and if we do
815         that we should do it for all platforms, not just iOS.
816
817         * bindings/js/GCController.cpp:
818         (WebCore::GCController::garbageCollectNow): Remove check of
819         JSDOMWindow::commonVMExists, since it's called just after a call
820         to JSDOMWindow::commonVM, which will create it as a side effect.
821         (WebCore::GCController::releaseExecutableMemory): Ditto.
822
823         * bindings/js/JSDOMWindowBase.cpp:
824         (WebCore::JSDOMWindowBase::commonVM): Removed iOS-specific code
825         that pulled the commonVM global out into another function so we
826         can check for its existence without creating it as a side effect.
827
828         * bindings/js/JSDOMWindowBase.h: Ditto.
829
830 2014-03-07  Bem Jones-Bey  <bjonesbe@adobe.com>
831
832         [CSS Shapes] inset does not properly clamp large corner radii
833         https://bugs.webkit.org/show_bug.cgi?id=129726
834
835         Reviewed by Dirk Schulze.
836
837         Make sure that radii that are larger than 50% of the associated shape
838         dimension (height or width) are properly reduced the same way as
839         border-radius radii are.
840
841         Test: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html
842
843         * rendering/shapes/Shape.cpp:
844         (WebCore::ensureRadiiDoNotOverlap): Drive by style fix.
845         (WebCore::Shape::createShape): Scale radii the same way as border
846             radii are scaled.
847         * platform/graphics/FloatRoundedRect.h:
848         (WebCore::calcBorderRadiiConstraintScaleFor): Move border radii
849             constraint calculation function out so that it can be shared by
850             the shape code.
851         * rendering/style/RenderStyle.cpp:
852         (WebCore::RenderStyle::getRoundedBorderFor): Call renamed scale function.
853
854 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
855
856         [GST] Set name to several timeout sources
857         https://bugs.webkit.org/show_bug.cgi?id=129878
858
859         Reviewed by Philippe Normand.
860
861         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
862         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
863         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
864         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
865         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
866         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
867         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
868         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
869
870 2014-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
871
872         [GTK] Timeout sources not correctly removed
873         https://bugs.webkit.org/show_bug.cgi?id=129877
874
875         Reviewed by Philippe Normand.
876
877         Set source ID variables to 0 after removing the sources from the
878         context. Also give a name to the sources.
879
880         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
881         (WebCore::TrackPrivateBaseGStreamer::disconnect):
882         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
883         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
884         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
885
886 2014-03-07  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
887
888         Remove FFTFrameMKL.
889         https://bugs.webkit.org/show_bug.cgi?id=129866
890
891         Reviewed by Csaba Osztrogonác.
892
893         * platform/audio/FFTFrame.h:
894         * platform/audio/FFTFrameStub.cpp:
895         * platform/audio/mkl/FFTFrameMKL.cpp: Removed, it is never used.
896
897 2014-03-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
898
899         [WebRTC] Adding getConfiguration method to RTCPeerConnection
900         https://bugs.webkit.org/show_bug.cgi?id=129845
901
902         Reviewed by Eric Carlson.
903
904         Test: fast/mediastream/RTCPeerConnection-getConfiguration.html
905
906         * CMakeLists.txt:
907         * DerivedSources.make:
908         * GNUmakefile.list.am:
909         * Modules/mediastream/RTCConfiguration.idl: Added.
910         * Modules/mediastream/RTCIceServer.idl: Added.
911         * Modules/mediastream/RTCPeerConnection.cpp:
912         (WebCore::RTCPeerConnection::RTCPeerConnection):
913         (WebCore::RTCPeerConnection::updateIce):
914         (WebCore::RTCPeerConnection::getConfiguration):
915         * Modules/mediastream/RTCPeerConnection.h:
916         * Modules/mediastream/RTCPeerConnection.idl:
917
918 2014-03-07  Jinwoo Song  <jinwoo7.song@samsung.com>
919
920         Optimize collectionLast() and collectionTraverseBackward() in LiveNodeList
921         https://bugs.webkit.org/show_bug.cgi?id=129775
922
923         Reviewed by Ryosuke Niwa.
924
925         Check the LiveNodeList type if it is HTMLTagNodeListType and ClassNodeListType then
926         apply inlined matching methods for each type.
927
928         * dom/LiveNodeList.cpp:
929         (WebCore::lastMatchingElement): Added.
930         (WebCore::previousMatchingElement): Added.
931         (WebCore::traverseMatchingElementsBackward): Added.
932         (WebCore::LiveNodeList::collectionLast): Apply lastMatchingElement() with LiveNodeList type.
933         (WebCore::LiveNodeList::collectionTraverseBackward): Apply traverseMatchingElementsBackward()
934         with LiveNodeList type.
935
936 2014-03-06  Andreas Kling  <akling@apple.com>
937
938         WebCoreResourceHandleAsOperationQueueDelegate over-retains NSURLRequest.
939         <https://webkit.org/b/129862>
940
941         Don't retain the pointer before assigning it to a RetainPtr, since that
942         will cause the object to leak.
943
944         Reviewed by Alexey Proskuryakov.
945
946         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
947         (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]):
948
949 2014-03-06  Dan Bernstein  <mitz@apple.com>
950
951         Don’t copy WebInputs.json into the framework.
952
953         * WebCore.xcodeproj/project.pbxproj: Removed WebInputs.json from the Copy Bundle Resources
954         build phase of the WebCore target.
955
956 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
957
958         [WebRTC] Updating RTCPeerConnection.idl
959         https://bugs.webkit.org/show_bug.cgi?id=129804
960
961         Reviewed by Eric Carlson.
962
963         Some methods signatures were wrong, marking some arguments as optional when they are mandatory.
964
965         Existing tests were updated.
966
967         * Modules/mediastream/RTCPeerConnection.cpp:
968         (WebCore::RTCPeerConnection::getStats):
969         * Modules/mediastream/RTCPeerConnection.h:
970         * Modules/mediastream/RTCPeerConnection.idl:
971         * Modules/mediastream/RTCStatsRequestImpl.cpp:
972         (WebCore::RTCStatsRequestImpl::create):
973         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
974         (WebCore::RTCStatsRequestImpl::requestFailed):
975         * Modules/mediastream/RTCStatsRequestImpl.h:
976         * platform/mediastream/RTCStatsRequest.h:
977
978 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
979
980         [WebRTC] Updating RTCIceServer to match spec
981         https://bugs.webkit.org/show_bug.cgi?id=129844
982
983         Reviewed by Eric Carlson.
984
985         Move RTCIceServer from RTCConfiguration to its own file.
986
987         * Modules/mediastream/RTCPeerConnection.cpp:
988         (WebCore::validateIceServerURL):
989         (WebCore::processIceServer):
990         * platform/mediastream/RTCConfiguration.h:
991         (WebCore::RTCConfiguration::iceServers):
992         * platform/mediastream/RTCIceServer.h: Added.
993
994 2014-03-06  Hyowon Kim  <hw1008.kim@samsung.com>
995
996         [EFL] Move EvasGL classes from WebKit to WebCore namespace.
997         https://bugs.webkit.org/show_bug.cgi?id=129797
998
999         Reviewed by Gyuyoung Kim.
1000
1001         Though EvasGLContext and EvasGLSurface files were moved from WebKit2/UIProcess/API/efl/ 
1002         to WebCore/platform/graphics/efl/, they are still in WebKit namespace.
1003         Patch for namespace changes.
1004
1005         * platform/graphics/efl/EvasGLContext.cpp:
1006         * platform/graphics/efl/EvasGLContext.h:
1007         * platform/graphics/efl/EvasGLSurface.cpp:
1008         * platform/graphics/efl/EvasGLSurface.h:
1009
1010 2014-03-06  Brian Burg  <bburg@apple.com>
1011
1012         CodeGeneratorJS.pm doesn't need to add spaces between consecutive closing template brackets
1013         https://bugs.webkit.org/show_bug.cgi?id=129836
1014
1015         Reviewed by Andreas Kling.
1016
1017         * bindings/scripts/CodeGeneratorJS.pm:
1018         (GenerateParametersCheck):
1019         (GetNativeVectorInnerType):
1020         (GetSVGPropertyTypes):
1021
1022 2014-03-06  Jinwoo Song  <jinwoo7.song@samsung.com>
1023
1024         Remove unused method from BatteryController
1025         https://bugs.webkit.org/show_bug.cgi?id=129850
1026
1027         Reviewed by Gyuyoung Kim.
1028
1029         isActive() method is never called anywhere.
1030
1031         * Modules/battery/BatteryController.cpp:
1032         * Modules/battery/BatteryController.h:
1033
1034 2014-03-06  Pratik Solanki  <psolanki@apple.com>
1035
1036         [iOS] Crash on launch with website restrictions enabled
1037         https://bugs.webkit.org/show_bug.cgi?id=129854
1038         <rdar://problem/16207016>
1039
1040         Reviewed by Simon Fraser.
1041
1042         * platform/mac/ContentFilterMac.mm:
1043         (WebCore::ContentFilter::ContentFilter): Initialize m_neFilterSourceQueue so that we don't
1044         crash in the dtor due to garbage value in the field.
1045
1046 2014-03-06  Simon Fraser  <simon.fraser@apple.com>
1047
1048         Minor optimization in ScrollingTreeScrollingNodeMac
1049         https://bugs.webkit.org/show_bug.cgi?id=129848
1050
1051         Reviewed by Dean Jackson.
1052
1053         No need to call scrollOffsetForFixedPosition() again if we don't have header
1054         and footer layers.
1055
1056         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1057         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1058
1059 2014-03-06  Mark Lam  <mark.lam@apple.com>
1060
1061         XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
1062         https://bugs.webkit.org/show_bug.cgi?id=45994
1063
1064         Not reviewed.
1065
1066         Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov)
1067         since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue.
1068
1069         * xml/XMLHttpRequest.cpp:
1070         (WebCore::XMLHttpRequest::status):
1071         (WebCore::XMLHttpRequest::statusText):
1072         * xml/XMLHttpRequest.h:
1073         * xml/XMLHttpRequest.idl:
1074
1075 2014-03-06  Brent Fulgham  <bfulgham@apple.com>
1076
1077         Revise Out-of-band VTT support for better integration with AVFoundation engine
1078         https://bugs.webkit.org/show_bug.cgi?id=129749
1079         <rdar://problem/16215701>
1080
1081         Reviewed by Eric Carlson.
1082
1083         Revise the platform handling of out-of-band text tracks so that we can keep AVFoundation
1084         informed of track selections we make. Use a dummy out-of-band child of the existing text
1085         track classes to avoid code duplication.
1086
1087         * WebCore.xcodeproj/project.pbxproj: Add new OutOfBandTextTrackPrivateAVF.h file.
1088         * html/HTMLMediaElement.cpp:
1089         (WebCore::HTMLMediaElement::parseAttribute): Notify player when OOB tracks change.
1090         (WebCore::HTMLMediaElement::outOfBandTrackSources): Also pass track mode to platform backend.
1091         * html/track/TextTrack.cpp:
1092         (WebCore::TextTrack::platformTextTrack): Also pass track mode to constructor.
1093         * html/track/TrackBase.cpp:
1094         (WebCore::TrackBase::TrackBase): Move ownership of track unique identifier to this base class.
1095         * html/track/TrackBase.h:
1096         (WebCore::TrackBase::uniqueId): Ditto.
1097         * platform/graphics/MediaPlayer.cpp:
1098         (WebCore::MediaPlayer::notifyTrackModeChanged): Added stub to pass message to platform player.
1099         * platform/graphics/MediaPlayer.h:
1100         * platform/graphics/MediaPlayerPrivate.h:
1101         (WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged): Stub for most platforms.
1102         * platform/graphics/PlatformTextTrack.h:
1103         (WebCore::PlatformTextTrack::create): Update for revised constructor (with 'mode' argument).
1104         (WebCore::PlatformTextTrack::createOutOfBand): Ditto.
1105         (WebCore::PlatformTextTrack::mode): Added.
1106         (WebCore::PlatformTextTrack::captionMenuOffItem): Use revised constructor arguments.
1107         (WebCore::PlatformTextTrack::captionMenuAutomaticItem): Ditto.
1108         (WebCore::PlatformTextTrack::PlatformTextTrack): Ditto.
1109         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Change predicate to return enum indicating the category
1110         of track (out-of-band, legacy closed caption, or in band).
1111         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1112         (WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Added.
1113         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Override predicate to return category enum.
1114         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Revise to use new category enum.
1115         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Override predicate to return category enum.
1116         that this is NOT an out-of-band track.
1117         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: Ditto.
1118         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1119         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1120         (WebCore::MediaPlayerPrivateAVFoundationObjC::notifyTrackModeChanged): Added implementation.
1121         (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Revise to handle out-of-band
1122         track placeholders.
1123         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Modify to inform AVFoundation about any
1124         out-of-band tracks we've selected.
1125         (WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Added.
1126         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: Added.
1127         (WebCore::OutOfBandTextTrackPrivateAVF::create):
1128         (WebCore::OutOfBandTextTrackPrivateAVF::processCue):
1129         (WebCore::OutOfBandTextTrackPrivateAVF::resetCueValues):
1130         (WebCore::OutOfBandTextTrackPrivateAVF::mediaSelectionOption):
1131         (WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):
1132         (WebCore::OutOfBandTextTrackPrivateAVF::processCueAttributes):
1133         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Override predicate to indicate
1134         that this is NOT an out-of-band track.
1135         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
1136         (WebCore::MediaPlayerPrivateIOS::setSelectedTextTrack): Correct typo in logging text.
1137
1138 2014-03-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1139
1140         [WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
1141         https://bugs.webkit.org/show_bug.cgi?id=129484
1142
1143         Reviewed by Eric Carlson.
1144
1145         According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument,
1146         instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.
1147
1148         Existing tests were updated.
1149
1150         * CMakeLists.txt:
1151         * GNUmakefile.list.am:
1152         * Modules/mediastream/RTCOfferAnswerOptions.cpp: Added.
1153         * Modules/mediastream/RTCOfferAnswerOptions.h: Added.
1154         * Modules/mediastream/RTCPeerConnection.cpp:
1155         (WebCore::RTCPeerConnection::createOffer):
1156         (WebCore::RTCPeerConnection::createAnswer):
1157         * Modules/mediastream/RTCPeerConnection.h:
1158         * Modules/mediastream/RTCPeerConnection.idl:
1159         * platform/mediastream/RTCPeerConnectionHandler.h:
1160         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1161         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
1162         (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
1163         * platform/mock/RTCPeerConnectionHandlerMock.h:
1164
1165 2014-03-06  Brian Burg  <bburg@apple.com>
1166
1167         Web Replay: premature release() of PassRefPtr in InspectorReplayAgent
1168         https://bugs.webkit.org/show_bug.cgi?id=129827
1169
1170         Reviewed by Timothy Hatcher.
1171
1172         * inspector/InspectorReplayAgent.cpp:
1173         (WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
1174
1175 2014-03-06  Benjamin Poulain  <bpoulain@apple.com>
1176
1177         [iOS] Do not compile fake mouse event handling when iOS Touch Events are enabled
1178         https://bugs.webkit.org/show_bug.cgi?id=129725
1179
1180         Reviewed by Dan Bernstein.
1181
1182         Bug <rdar://problem/16218636>. The code is #ifdef'ed out to avoid setting up useless objects
1183         and to avoid future mistake.
1184
1185         * page/EventHandler.cpp:
1186         (WebCore::EventHandler::EventHandler):
1187         (WebCore::EventHandler::~EventHandler):
1188         (WebCore::EventHandler::clear):
1189         (WebCore::EventHandler::handleMousePressEvent):
1190         (WebCore::EventHandler::startAutoHideCursorTimer):
1191         (WebCore::EventHandler::handleMouseMoveEvent):
1192         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1193         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
1194         * page/EventHandler.h:
1195
1196 2014-03-06  Pratik Solanki  <psolanki@apple.com>
1197
1198         Unreviewed. iOS build fix after r165199.
1199
1200         * rendering/RootInlineBox.cpp:
1201
1202 2014-03-06  Benjamin Poulain  <bpoulain@apple.com>
1203
1204         [iOS] Rename the actualVisibleXXXRect to unobscuredContentRect for consistency
1205         https://bugs.webkit.org/show_bug.cgi?id=129773
1206
1207         Reviewed by Simon Fraser.
1208
1209         * dom/TreeScope.cpp:
1210         (WebCore::nodeFromPoint):
1211         * platform/ScrollView.cpp:
1212         (WebCore::ScrollView::visibleContentRectInternal):
1213         * platform/ScrollView.h:
1214         * platform/ios/ScrollViewIOS.mm:
1215         (WebCore::ScrollView::unoscuredContentRect):
1216         * platform/ios/wak/WAKScrollView.h:
1217         * platform/ios/wak/WAKScrollView.mm:
1218         (-[WAKScrollView unoscuredContentRect]):
1219         (-[WAKScrollView description]):
1220         * rendering/RenderLayer.cpp:
1221         (WebCore::RenderLayer::scrollRectToVisible):
1222
1223 2014-03-05  Oliver Hunt  <oliver@apple.com>
1224
1225         Support caching of custom setters
1226         https://bugs.webkit.org/show_bug.cgi?id=129519
1227
1228         Reviewed by Filip Pizlo.
1229
1230         Add forwarding header
1231
1232         Tests: js/regress/assign-custom-setter-polymorphic.html
1233                js/regress/assign-custom-setter.html
1234
1235         * ForwardingHeaders/jit/SpillRegistersMode.h: Added.
1236
1237 2014-03-05  Jon Honeycutt  <jhoneycutt@apple.com>
1238
1239         Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()
1240
1241         <https://bugs.webkit.org/show_bug.cgi?id=121887>
1242         <rdar://problem/15073043>
1243
1244         Clang appears to be optimizing out a branch in RenderObject::node()
1245         when compiling RenderLayer::FilterInfo::updateReferenceFilterClients().
1246         We'll work around this by factoring out the code in question into a
1247         separate member function marked NEVER_INLINE.
1248
1249         No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>.
1250
1251         Reviewed by David Kilzer.
1252
1253         * rendering/RenderLayerFilterInfo.cpp:
1254         (WebCore::RenderLayer::FilterInfo::layerElement):
1255         Code moved from updateReferenceFilterClients(). Returns the Element*
1256         for m_layer.
1257         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
1258         Use layerElement().
1259
1260         * rendering/RenderLayerFilterInfo.h:
1261         Declared layerElement().
1262
1263 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
1264
1265         Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
1266         https://bugs.webkit.org/show_bug.cgi?id=127944
1267
1268         Reviewed by Geoffrey Garen.
1269
1270         Covered by existing tests.
1271
1272         * CMakeLists.txt:
1273         * DerivedSources.cpp:
1274         * DerivedSources.make:
1275         * ForwardingHeaders/runtime/ConsoleClient.h: Added.
1276         * ForwardingHeaders/runtime/ConsoleTypes.h: Renamed from Source/WebCore/ForwardingHeaders/inspector/ConsoleTypes.h.
1277         * GNUmakefile.list.am:
1278         * PlatformGTK.cmake:
1279         * WebCore.exp.in:
1280         * WebCore.vcxproj/WebCore.vcxproj:
1281         * WebCore.vcxproj/WebCore.vcxproj.filters:
1282         * WebCore.xcodeproj/project.pbxproj:
1283         * bindings/gobject/GNUmakefile.am:
1284         Update build systems.
1285
1286         * page/Console.cpp: Removed.
1287         * page/Console.h: Removed.
1288         * page/Console.idl: Removed.
1289         * page/DOMWindow.cpp:
1290         (WebCore::DOMWindow::~DOMWindow):
1291         (WebCore::DOMWindow::resetDOMWindowProperties):
1292         * page/DOMWindow.h:
1293         (WebCore::DOMWindow::defaultStatus):
1294         * page/DOMWindow.idl:
1295         Removed the old IDL generated Console object on window.
1296
1297         * page/PageConsole.cpp:
1298         (WebCore::PageConsole::shouldPrintExceptions):
1299         (WebCore::PageConsole::setShouldPrintExceptions):
1300         (WebCore::PageConsole::mute):
1301         (WebCore::PageConsole::unmute):
1302         (WebCore::PageConsole::messageWithTypeAndLevel):
1303         (WebCore::PageConsole::count):
1304         (WebCore::PageConsole::profile):
1305         (WebCore::PageConsole::profileEnd):
1306         (WebCore::PageConsole::time):
1307         (WebCore::PageConsole::timeEnd):
1308         (WebCore::PageConsole::timeStamp):
1309         (WebCore::PageConsole::group):
1310         (WebCore::PageConsole::groupCollapsed):
1311         (WebCore::PageConsole::groupEnd):
1312         (WebCore::PageConsole::clearProfiles):
1313         * page/PageConsole.h:
1314         Move the handling of Console object into PageConsole.
1315
1316         * bindings/js/ScriptCachedFrameData.cpp:
1317         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1318         (WebCore::ScriptCachedFrameData::restore):
1319         * bindings/js/ScriptController.cpp:
1320         (WebCore::ScriptController::clearWindowShell):
1321         (WebCore::ScriptController::initScript):
1322         Set the PageConsole as the ConsoleClient of the JSGlobalObject
1323         so that WebCore may handle console messages directly. For instance
1324         it may pass messages on to the ChromeClient.
1325
1326         * testing/Internals.cpp:
1327         (WebCore::Internals::consoleProfiles):
1328         To access profiles, go through PageConsole now instead of Console.
1329
1330         * bindings/js/JSDOMWindowBase.cpp:
1331         * bindings/objc/WebScriptObject.mm:
1332         * css/MediaList.cpp:
1333         * dom/ScriptExecutionContext.h:
1334         * dom/UIEvent.cpp:
1335         * dom/ViewportArguments.cpp:
1336         * html/parser/XSSAuditorDelegate.cpp:
1337         * inspector/CommandLineAPIHost.h:
1338         * inspector/InspectorInstrumentation.cpp:
1339         * inspector/InspectorInstrumentation.h:
1340         * inspector/InspectorProfilerAgent.cpp:
1341         * inspector/WebConsoleAgent.cpp:
1342         * loader/FrameLoader.cpp:
1343         * loader/MixedContentChecker.cpp:
1344         * loader/appcache/ApplicationCacheGroup.cpp:
1345         * loader/cache/CachedResourceLoader.cpp:
1346         * page/ChromeClient.h:
1347         * page/ContentSecurityPolicy.cpp:
1348         * page/Page.cpp:
1349         * page/Page.h:
1350         * svg/SVGDocumentExtensions.cpp:
1351         * workers/WorkerMessagingProxy.cpp:
1352         * workers/WorkerReportingProxy.h:
1353         Update includes.
1354
1355 2014-03-06  Zsolt Borbely  <borbezs@inf.u-szeged.hu>
1356
1357         Fix the !ENABLE(CSS_STICKY_POSITION) build
1358         https://bugs.webkit.org/show_bug.cgi?id=129793
1359
1360         Reviewed by Simon Fraser.
1361
1362         Add missing ENABLE(CSS_STICKY_POSITION) guard to EditingStyle::convertPositionStyle().
1363
1364         * editing/EditingStyle.cpp:
1365         (WebCore::EditingStyle::convertPositionStyle):
1366
1367 2014-03-06  Joseph Pecoraro  <pecoraro@apple.com>
1368
1369         [Mac] Leak: dispatch_semaphore leak allocated in MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
1370         https://bugs.webkit.org/show_bug.cgi?id=129792
1371
1372         Reviewed by Anders Carlsson.
1373
1374         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1375         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
1376
1377 2014-03-06  Brendan Long  <b.long@cablelabs.com>
1378
1379         Implement VideoTrackList.selectedIndex
1380         https://bugs.webkit.org/show_bug.cgi?id=129770
1381
1382         Reviewed by Eric Carlson.
1383
1384         Tests: media/track/video/video-track-mkv-theora-selected.html
1385
1386         * html/track/VideoTrackList.idl:
1387
1388 2014-03-06  Lorenzo Tilve  <ltilve@igalia.com>
1389
1390         [GTK][CMake] Fix the GTK+ CMake build
1391         https://bugs.webkit.org/show_bug.cgi?id=129801
1392
1393         Reviewed by Martin Robinson.
1394
1395         Include missing files for CMake build
1396
1397         * CMakeLists.txt: Add a missing references to DOMURLMediaStream
1398
1399 2014-03-06  Zalan Bujtas  <zalan@apple.com>
1400
1401         Subpixel rendering: Setting content to opaque on m_graphicsLayer depends on subpixel accumulation.
1402         https://bugs.webkit.org/show_bug.cgi?id=129776
1403
1404         Reviewed by Simon Fraser.
1405
1406         isEmpty() returns true when any of the dimensions is <= 0. Subpixel accumulation could happen
1407         in one direction only. Use isZero() instead().
1408
1409         * rendering/RenderLayerBacking.cpp:
1410         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1411
1412 2014-03-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
1413
1414         REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
1415         https://bugs.webkit.org/show_bug.cgi?id=128873
1416
1417         Reviewed by Antonio Gomes.
1418
1419         This regression is caused by  http://trac.webkit.org/changeset/154614 
1420         and http://trac.webkit.org/changeset/156605. So reverting the changes
1421         to make it Web compatible as earlier.
1422
1423         * dom/Element.cpp:
1424         (WebCore::Element::scrollLeft):
1425         (WebCore::Element::scrollTop):
1426         (WebCore::Element::setScrollLeft):
1427         (WebCore::Element::setScrollTop):
1428         Reverting changes as it caused regression.
1429
1430 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1431
1432         Move Source/WebCore/html/canvas/ code to std::unique_ptr
1433         https://bugs.webkit.org/show_bug.cgi?id=129668
1434
1435         Reviewed by Anders Carlsson.
1436
1437         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/canvas/ to std::unique_ptr.
1438
1439         * html/HTMLCanvasElement.cpp:
1440         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
1441         (WebCore::HTMLCanvasElement::getContext):
1442         * html/HTMLCanvasElement.h:
1443         * html/canvas/ANGLEInstancedArrays.cpp:
1444         * html/canvas/ANGLEInstancedArrays.h:
1445         * html/canvas/CanvasRenderingContext2D.h:
1446         * html/canvas/EXTTextureFilterAnisotropic.cpp:
1447         * html/canvas/EXTTextureFilterAnisotropic.h:
1448         * html/canvas/OESElementIndexUint.cpp:
1449         * html/canvas/OESElementIndexUint.h:
1450         * html/canvas/OESStandardDerivatives.cpp:
1451         * html/canvas/OESStandardDerivatives.h:
1452         * html/canvas/OESTextureFloat.cpp:
1453         * html/canvas/OESTextureFloat.h:
1454         * html/canvas/OESTextureFloatLinear.cpp:
1455         * html/canvas/OESTextureFloatLinear.h:
1456         * html/canvas/OESTextureHalfFloat.cpp:
1457         * html/canvas/OESTextureHalfFloat.h:
1458         * html/canvas/OESTextureHalfFloatLinear.cpp:
1459         * html/canvas/OESTextureHalfFloatLinear.h:
1460         * html/canvas/OESVertexArrayObject.cpp:
1461         * html/canvas/OESVertexArrayObject.h:
1462         * html/canvas/WebGLCompressedTextureATC.cpp:
1463         * html/canvas/WebGLCompressedTextureATC.h:
1464         * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1465         * html/canvas/WebGLCompressedTexturePVRTC.h:
1466         * html/canvas/WebGLCompressedTextureS3TC.cpp:
1467         * html/canvas/WebGLCompressedTextureS3TC.h:
1468         * html/canvas/WebGLDebugRendererInfo.cpp:
1469         * html/canvas/WebGLDebugRendererInfo.h:
1470         * html/canvas/WebGLDebugShaders.cpp:
1471         * html/canvas/WebGLDebugShaders.h:
1472         * html/canvas/WebGLDepthTexture.cpp:
1473         * html/canvas/WebGLDepthTexture.h:
1474         * html/canvas/WebGLDrawBuffers.cpp:
1475         * html/canvas/WebGLDrawBuffers.h:
1476         * html/canvas/WebGLLoseContext.cpp:
1477         * html/canvas/WebGLLoseContext.h:
1478         * html/canvas/WebGLRenderingContext.cpp:
1479         (WebCore::WebGLRenderingContext::create):
1480         (WebCore::WebGLRenderingContext::getExtension):
1481         * html/canvas/WebGLRenderingContext.h:
1482
1483 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1484
1485         Move Source/WebCore/editing/ code to std::unique_ptr
1486         https://bugs.webkit.org/show_bug.cgi?id=129665
1487
1488         Reviewed by Anders Carlsson.
1489
1490         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/editing/ with std::unique_ptr.
1491
1492         * editing/EditingStyle.cpp:
1493         (WebCore::htmlElementEquivalents):
1494         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
1495         (WebCore::htmlAttributeEquivalents):
1496         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
1497         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
1498         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
1499         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
1500         * editing/Editor.cpp:
1501         (WebCore::Editor::Editor):
1502         (WebCore::Editor::clear):
1503         * editing/Editor.h:
1504         * page/Frame.cpp:
1505         (WebCore::Frame::Frame):
1506         * page/Frame.h:
1507
1508 2014-03-06  Zan Dobersek  <zdobersek@igalia.com>
1509
1510         Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
1511         https://bugs.webkit.org/show_bug.cgi?id=129061
1512
1513         Reviewed by Eric Carlson.
1514
1515         Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
1516         classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
1517         but this will be addressed later.
1518
1519         * dom/KeyboardEvent.cpp:
1520         (WebCore::KeyboardEvent::KeyboardEvent):
1521         * dom/KeyboardEvent.h:
1522         * dom/ScriptExecutionContext.cpp:
1523         (WebCore::ScriptExecutionContext::reportException):
1524         * dom/ScriptExecutionContext.h:
1525         * dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
1526
1527 2014-03-06  Commit Queue  <commit-queue@webkit.org>
1528
1529         Unreviewed, rolling out r165175.
1530         http://trac.webkit.org/changeset/165175
1531         https://bugs.webkit.org/show_bug.cgi?id=129788
1532
1533         Linking failures on GTK, EFL due to missing gstreamer-tag-1.0
1534         dependency (Requested by zdobersek on #webkit).
1535
1536         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1537         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
1538
1539 2014-03-05  Brendan Long  <b.long@cablelabs.com>
1540
1541         [GStreamer] human readable language code for tracks
1542         https://bugs.webkit.org/show_bug.cgi?id=124514
1543
1544         Reviewed by Philippe Normand.
1545
1546         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1547         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.
1548
1549 2014-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
1550
1551         Remove unused method from Vibration
1552         https://bugs.webkit.org/show_bug.cgi?id=129732
1553
1554         Reviewed by Gyuyoung Kim.
1555
1556         * Modules/vibration/Vibration.cpp:
1557         Removed isActive(), which is never called since r152441.
1558         * Modules/vibration/Vibration.h: Ditto.
1559
1560 2014-03-05  Commit Queue  <commit-queue@webkit.org>
1561
1562         Unreviewed, rolling out r165141, r165157, and r165158.
1563         http://trac.webkit.org/changeset/165141
1564         http://trac.webkit.org/changeset/165157
1565         http://trac.webkit.org/changeset/165158
1566         https://bugs.webkit.org/show_bug.cgi?id=129772
1567
1568         "broke ftl" (Requested by olliej_ on #webkit).
1569
1570         * ForwardingHeaders/jit/SpillRegistersMode.h: Removed.
1571
1572 2014-03-05  Martin Robinson  <mrobinson@igalia.com>
1573
1574         [GTK][CMake] The GObject DOM bindings should always be built
1575         https://bugs.webkit.org/show_bug.cgi?id=127963
1576
1577         Reviewed by Ryosuke Niwa.
1578
1579         * PlatformGTK.cmake: Make compilation of the WebKitGTK+ GObject DOM bindings
1580         unconditional, instead of conditional on the WebKit2 build.
1581
1582 2014-03-05  Jer Noble  <jer.noble@apple.com>
1583
1584         [MSE] Crash in SourceBuffer::sourceBufferPrivateDidReceiveSample() - received samples after SourceBuffer was removed.
1585         https://bugs.webkit.org/show_bug.cgi?id=129761
1586
1587         Reviewed by Eric Carlson.
1588
1589         Guard against the possibility that SourceBufferPrivates will continue to generate samples even after
1590         a parse error. Bail out early from sourceBufferPrivateDidReceiveInitializationSegment and
1591         sourceBufferPrivateDidReceiveSample if the SourceBuffer has been removed.
1592
1593         * Modules/mediasource/SourceBuffer.cpp:
1594         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
1595         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1596
1597 2014-03-05  Enrica Casucci  <enrica@apple.com>
1598
1599         Build fix, take 2.
1600
1601         * platform/mac/HTMLConverter.mm:
1602
1603 2014-03-05  Enrica Casucci  <enrica@apple.com>
1604
1605         Build fix.
1606
1607         * platform/mac/HTMLConverter.mm:
1608
1609 2014-03-05  Enrica Casucci  <enrica@apple.com>
1610
1611         Crash when copying content that contains <sup>.
1612         https://bugs.webkit.org/show_bug.cgi?id=129765
1613         <rdar://problem/16139498>
1614         
1615         Reviewed by Benjamin Poulain.
1616
1617         Adding static definition of NSAttributeSuperscriptName.
1618
1619         * platform/mac/HTMLConverter.mm:
1620
1621 2014-03-05  Gavin Barraclough  <barraclough@apple.com>
1622
1623         https://bugs.webkit.org/show_bug.cgi?id=128625
1624         Add fast mapping from StringImpl to JSString
1625
1626         Unreviewed roll-out.
1627
1628         Reverting r164347, r165054, r165066 - not clear the performance tradeoff was right.
1629
1630         * bindings/js/DOMWrapperWorld.cpp:
1631         (WebCore::DOMWrapperWorld::clearWrappers):
1632         * bindings/js/DOMWrapperWorld.h:
1633         * bindings/js/JSDOMBinding.h:
1634         (WebCore::jsStringWithCache):
1635         * bindings/js/JSDOMWindowBase.cpp:
1636         (WebCore::JSDOMWindowBase::commonVM):
1637         * bindings/scripts/StaticString.pm:
1638         (GenerateStrings):
1639
1640 2014-03-05  Daniel Bates  <dabates@apple.com>
1641             And Alexey Proskuryakov  <ap@apple.com>
1642
1643         ASSERT(newestManifest) fails in WebCore::ApplicationCacheGroup::didFinishLoadingManifest()
1644         https://bugs.webkit.org/show_bug.cgi?id=129753
1645         <rdar://problem/12069835>
1646
1647         Reviewed by Alexey Proskuryakov.
1648
1649         Fixes an issue where an assertion failure would occur when visiting a web site whose on-disk
1650         app cache doesn't contain a manifest resource.
1651
1652         For some reason an app cache for a web site may be partially written to disk. In particular, the
1653         app cache may only contain a CacheGroups entry. That is, the manifest resource and origin records
1654         may not be persisted to disk. From looking over the code, we're unclear how such a situation can occur
1655         and hence have been unable to create such an app cache. We were able to reproduce this issue using
1656         an app cache database file that was provided by a person that was affected by this issue.
1657
1658         No test included because it's not straightforward to write a test for this change.
1659
1660         * loader/appcache/ApplicationCacheGroup.cpp:
1661         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Assert that m_cacheBeingUpdated->manifestResource()
1662         is non-null. Currently we only document this assumption in a code comment. Also separated a single assertion
1663         expression into two assertion expressions to make it straightforward to identify the failing sub-expression
1664         on failure.
1665         * loader/appcache/ApplicationCacheStorage.cpp:
1666         (WebCore::ApplicationCacheStorage::store): Modified to call ApplicationCacheStorage::deleteCacheGroupRecord()
1667         to remove a cache group and associated cache records (if applicable) before inserting a cache group entry.
1668         This replacement approach will ultimately repair incomplete app cache data for people affected by this bug.
1669         (WebCore::ApplicationCacheStorage::loadCache): Log an error and return nullptr if the cache we loaded doesn't
1670         have a manifest resource.
1671         (WebCore::ApplicationCacheStorage::deleteCacheGroupRecord): Added.
1672         (WebCore::ApplicationCacheStorage::deleteCacheGroup): Extracted deletion logic for cache group record into
1673         ApplicationCacheStorage::deleteCacheGroupRecord().
1674         * loader/appcache/ApplicationCacheStorage.h:
1675
1676 2014-03-05  Oliver Hunt  <oliver@apple.com>
1677
1678         Support caching of custom setters
1679         https://bugs.webkit.org/show_bug.cgi?id=129519
1680
1681         Reviewed by Filip Pizlo.
1682
1683         Add forwarding header
1684
1685         Tests: js/regress/assign-custom-setter-polymorphic.html
1686                js/regress/assign-custom-setter.html
1687
1688         * ForwardingHeaders/jit/SpillRegistersMode.h: Added.
1689
1690 2014-03-05  David Kilzer  <ddkilzer@apple.com>
1691
1692         Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement()
1693         <http://webkit.org/b/129751>
1694         <rdar://problem/16237965>
1695
1696         Reviewed by Jon Honeycutt.
1697
1698         Merged from Blink (patch by Yuta Kitamura):
1699         https://src.chromium.org/viewvc/blink?revision=168160&view=revision
1700         http://crbug.com/345005
1701
1702             The root cause is CompositeEditCommand::moveParagraphWithClones() passing
1703             two positions |start| and |end| which do not follow the document order,
1704             i.e. in some situations |start| is located after |end| because of
1705             the difference in affinity.
1706
1707             This patch fixes this crash by normalizing |end| to |start| in such situations.
1708             It also adds an ASSERT that checks the relationship between |start| and |end|.
1709
1710         Test: editing/execCommand/format-block-crash.html
1711
1712         * editing/CompositeEditCommand.cpp:
1713         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1714         (WebCore::CompositeEditCommand::moveParagraphWithClones):
1715         * editing/CompositeEditCommand.h:
1716
1717 2014-03-05  Radu Stavila  <stavila@adobe.com>
1718
1719         [CSS Regions] Scrollable regions
1720         https://bugs.webkit.org/show_bug.cgi?id=129301
1721
1722         Reviewed by David Hyatt.
1723
1724         Named flow fragments do not inherit the overflow property from the fragment container.
1725         When asked if the flow thread content should be clipped, the named flow fragments
1726         will respond using the overflow property of the named flow fragment container.
1727
1728         When painting the flow thread layer inside the region, the scrolled content offset of
1729         the region must be used to offset the flow thread's layer.
1730
1731         Tests: fast/regions/scrollable-last-region.html
1732                fast/regions/scrollable-single-region-bt.html
1733                fast/regions/scrollable-single-region-lr.html
1734                fast/regions/scrollable-single-region-relative-element.html
1735                fast/regions/scrollable-single-region-rl.html
1736                fast/regions/scrollable-single-region.html
1737
1738         * rendering/RenderLayer.cpp:
1739         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
1740         (WebCore::RenderLayer::calculateClipRects):
1741         * rendering/RenderNamedFlowFragment.cpp:
1742         (WebCore::RenderNamedFlowFragment::createStyle):
1743         (WebCore::RenderNamedFlowFragment::shouldClipFlowThreadContent):
1744         * rendering/RenderNamedFlowFragment.h:
1745         * rendering/RenderNamedFlowThread.cpp:
1746         (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
1747         * rendering/RenderRegion.cpp:
1748         (WebCore::RenderRegion::shouldClipFlowThreadContent):
1749         * rendering/RenderRegion.h:
1750
1751 2014-03-05  Zalan Bujtas  <zalan@apple.com>
1752
1753         Subpixel rendering: Device pixel round accumulated subpixel value when the RenderLayer with transform paints its content.
1754         https://bugs.webkit.org/show_bug.cgi?id=129079
1755
1756         Reviewed by Simon Fraser.
1757
1758         Snap the content to the device pixel position (as opposed to integral position) before
1759         applying the transform. Recalculate the remaining subpixels that need offsetting at painting time.
1760
1761         Test: compositing/hidpi-absolute-subpixel-positioned-transformed-elements.html
1762
1763         * platform/graphics/LayoutPoint.h:
1764         (WebCore::roundedForPainting):
1765         * rendering/RenderLayer.cpp:
1766         (WebCore::RenderLayer::paintLayerByApplyingTransform):
1767
1768 2014-03-05  Eric Carlson  <eric.carlson@apple.com>
1769
1770         [iOS] Show external device name/type in placeholder
1771         https://bugs.webkit.org/show_bug.cgi?id=129723
1772
1773         Reviewed by Jer Noble.
1774
1775         Make the name and type of the external device available to the JS based controls.
1776         * Modules/mediacontrols/MediaControlsHost.cpp:
1777         (WebCore::MediaControlsHost::externalDeviceDisplayName):
1778         (WebCore::MediaControlsHost::externalDeviceType):
1779         * Modules/mediacontrols/MediaControlsHost.h:
1780         * Modules/mediacontrols/MediaControlsHost.idl:
1781
1782         * Modules/mediacontrols/mediaControlsiOS.js:
1783         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Display device type-specific infomation
1784             in the placeholder image.
1785
1786         * WebCore.exp.in: Export new WebKitSystemInterface functions.
1787
1788         * platform/graphics/MediaPlayer.cpp:
1789         (WebCore::MediaPlayer::wirelessPlaybackTargetName): Added.
1790         (WebCore::MediaPlayer::wirelessPlaybackTargetType): Ditto.
1791         * platform/graphics/MediaPlayer.h:
1792         * platform/graphics/MediaPlayerPrivate.h:
1793
1794         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1795         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1796         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType): Added.
1797         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName): Ditto.
1798
1799         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1800         * platform/mac/WebCoreSystemInterface.h:
1801         * platform/mac/WebCoreSystemInterface.mm:
1802
1803 2014-03-05  Benjamin Poulain  <bpoulain@apple.com>
1804
1805         [iOS] Rename the various VisibleExtent variations to exposedContentRect
1806         https://bugs.webkit.org/show_bug.cgi?id=129728
1807
1808         Reviewed by Simon Fraser.
1809
1810         Rename DocumentVisibleExtent and VisibleExtentContentRect to ExposedContentRect in a desperate
1811         attempt to make things a tiny little bit less confusing.
1812
1813         The name is ExposedContentRect and not ExposedRect as that rect is exposed on ScrollView, while the
1814         rect is in document coordinates (which does not make any difference on WebKit1...).
1815
1816         * WebCore.exp.in:
1817         * platform/ScrollView.h:
1818         * platform/ios/ScrollViewIOS.mm:
1819         (WebCore::ScrollView::exposedContentRect):
1820         (WebCore::ScrollView::setExposedContentRect):
1821         * platform/ios/wak/WAKScrollView.h:
1822         * platform/ios/wak/WAKScrollView.mm:
1823         (-[WAKScrollView exposedContentRect]):
1824         * rendering/RenderLayerCompositor.cpp:
1825         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1826         (WebCore::RenderLayerCompositor::didChangeVisibleRect):
1827
1828 2014-03-05  Simon Fraser  <simon.fraser@apple.com>
1829
1830         ObjC exception when dropping files into a WKView: drag and drop uses code from WebKit.framework
1831         https://bugs.webkit.org/show_bug.cgi?id=129752
1832
1833         Reviewed by Enrica Casucci.
1834
1835         Add C functions for NSURL-related functionality required by WebKit2
1836
1837         * WebCore.exp.in:
1838         * platform/mac/WebCoreNSURLExtras.h:
1839         * platform/mac/WebCoreNSURLExtras.mm:
1840         (WebCore::URLByCanonicalizingURL):
1841         (WebCore::rangeOfURLScheme):
1842         (WebCore::looksLikeAbsoluteURL):
1843
1844 2014-03-05  Martin Hock  <mhock@apple.com>
1845
1846         Add support for sessions to MemoryCache.
1847         https://bugs.webkit.org/show_bug.cgi?id=127794
1848
1849         Reviewed by Sam Weinig.
1850
1851         * WebCore.exp.in:
1852         * editing/DeleteButtonController.cpp:
1853         (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID.
1854         * html/DOMURL.cpp:
1855         (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions.
1856         * inspector/InspectorPageAgent.cpp:
1857         (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache.
1858         * inspector/InspectorResourceAgent.cpp:
1859         (WebCore::InspectorResourceAgent::replayXHR): Ditto.
1860         * loader/DocumentLoader.cpp:
1861         (WebCore::areAllLoadersPageCacheAcceptable): Ditto.
1862         * loader/FrameLoader.cpp:
1863         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto.
1864         * loader/ImageLoader.cpp:
1865         (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID.
1866         * loader/archive/cf/LegacyWebArchive.cpp:
1867         (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache.
1868         * loader/cache/CachedCSSStyleSheet.cpp:
1869         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID.
1870         * loader/cache/CachedCSSStyleSheet.h:
1871         * loader/cache/CachedFont.cpp: Ditto.
1872         (WebCore::CachedFont::CachedFont):
1873         * loader/cache/CachedFont.h:
1874         * loader/cache/CachedImage.cpp: Ditto.
1875         (WebCore::CachedImage::CachedImage):
1876         * loader/cache/CachedImage.h:
1877         * loader/cache/CachedRawResource.cpp: Ditto.
1878         (WebCore::CachedRawResource::CachedRawResource):
1879         * loader/cache/CachedRawResource.h:
1880         * loader/cache/CachedResource.cpp: Ditto.
1881         (WebCore::CachedResource::CachedResource):
1882         (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache.
1883         * loader/cache/CachedResource.h:
1884         (WebCore::CachedResource::sessionID):
1885         * loader/cache/CachedResourceLoader.cpp:
1886         (WebCore::createResource): Constructors take sessionID.
1887         (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page.
1888         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache.
1889         (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID.
1890         (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID.
1891         (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID.
1892         * loader/cache/CachedResourceLoader.h:
1893         * loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID.
1894         (WebCore::CachedSVGDocument::CachedSVGDocument):
1895         * loader/cache/CachedSVGDocument.h:
1896         * loader/cache/CachedScript.cpp: Ditto.
1897         (WebCore::CachedScript::CachedScript):
1898         * loader/cache/CachedScript.h:
1899         * loader/cache/CachedTextTrack.cpp: Ditto.
1900         (WebCore::CachedTextTrack::CachedTextTrack):
1901         * loader/cache/CachedTextTrack.h:
1902         * loader/cache/CachedXSLStyleSheet.cpp: Ditto.
1903         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
1904         * loader/cache/CachedXSLStyleSheet.h:
1905         * loader/cache/MemoryCache.cpp:
1906         (WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID.
1907         (WebCore::MemoryCache::add): Use sessionID from CachedResource parameter.
1908         (WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter.
1909         (WebCore::MemoryCache::resourceForURL): Ditto.
1910         (WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method.
1911         (WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter.
1912         (WebCore::MemoryCache::addImageToCache): Use default sessionID.
1913         (WebCore::MemoryCache::removeImageFromCache): Ditto.
1914         (WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter.
1915         (WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps.
1916         (WebCore::MemoryCache::getOriginsWithCache): Ditto.
1917         (WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter.
1918         (WebCore::MemoryCache::removeRequestFromCache): Ditto.
1919         (WebCore::MemoryCache::removeRequestFromSessionCaches): Remove request from all CachedResourceMaps, with multithread support.
1920         (WebCore::MemoryCache::removeRequestFromCacheImpl): Add sessionID parameter.
1921         (WebCore::MemoryCache::removeRequestFromSessionCachesImpl): Iterate through all CachedResourceMaps.
1922         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter.
1923         (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches): Pass on request to removeRequestFromSessionCachesImpl.
1924         (WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps.
1925         (WebCore::MemoryCache::setDisabled): Ditto.
1926         * loader/cache/MemoryCache.h: Create another level for cache.
1927         * platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads.
1928         (WebCore::SessionID>::copy):
1929         * platform/CrossThreadCopier.h:
1930         * platform/network/cf/ResourceRequest.h:
1931         (WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace.
1932         * rendering/RenderSnapshottedPlugIn.cpp:
1933         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID.
1934         * testing/Internals.cpp:
1935         (WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache.
1936
1937 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
1938
1939         [GTK][CMake] Generate documentation for the DOM bindings
1940         https://bugs.webkit.org/show_bug.cgi?id=126211
1941
1942         Reviewed by Carlos Garcia Campos.
1943
1944         * PlatformGTK.cmake: Add some files to the GObjectDOMBindings build, so that the
1945         doc generation succeeds. Have the GObjectDOMBindings_INSTALLED_HEADERS variable contain
1946         all installed headers and use another variable for GIR generation. Create the configuration
1947         file for the gtkdoc generation.
1948
1949 2014-03-05  Zalan Bujtas  <zalan@apple.com>
1950
1951         Subpixel rendering: Wrong cliprect on absolute positioned elements.
1952         https://bugs.webkit.org/show_bug.cgi?id=129656
1953
1954         Reviewed by Simon Fraser.
1955
1956         outlineBoundsForRepaint() is expected to return the outline repaint rect. Using enclosingIntRect()
1957         to calculate the outline boundaries breaks repaint logic in RenderElement::repaintAfterLayoutIfNeeded().
1958         Since enclosingIntRect() can return bigger rect than repaint rect, the old/new bounds' dimensions could end up
1959         being different which triggers the size change repaint code path.
1960
1961         Test: fast/repaint/hidpi-absolute-positioned-element-wrong-cliprect-after-move.html
1962
1963         * rendering/RenderBox.cpp:
1964         (WebCore::RenderBox::outlineBoundsForRepaint):
1965         * rendering/RenderElement.cpp:
1966         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
1967         * rendering/svg/RenderSVGModelObject.cpp:
1968         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
1969
1970 2014-03-05  Krzysztof Czech  <k.czech@samsung.com>
1971
1972         [ATK] Expose missing functionalities of AtkTableCell to AT.
1973         https://bugs.webkit.org/show_bug.cgi?id=129492
1974
1975         Reviewed by Mario Sanchez Prada.
1976
1977         Implemented missing API of AtkTableCell.
1978
1979         No new tests. Covered by existing ones.
1980
1981         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
1982         (webkitAccessibleTableCellGetColumnSpan):
1983         (webkitAccessibleTableCellGetRowSpan):
1984         (webkitAccessibleTableCellGetPosition):
1985         (webkitAccessibleTableCellGetTable):
1986         (webkitAccessibleTableCellInterfaceInit):
1987
1988 2014-03-05  Andres Gomez  <agomez@igalia.com>
1989
1990         [GStreamer] WebSource doesn't need the "iradio-mode" property
1991         https://bugs.webkit.org/show_bug.cgi?id=129685
1992
1993         Reviewed by Philippe Normand.
1994
1995         Removed the "iradio-mode" property from the WK source element
1996         since this was only available for its modification from
1997         playbin/uridecodebin and, as discussed in GStreamer bug #725383,
1998         it was not being set and now is going to be removed.
1999
2000         It is safe just to send always the "icy-metadata" header set and
2001         deal with returning "icy" headers as we were already doing.
2002
2003         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2004         (webKitWebSrcSetProperty):
2005         (webKitWebSrcGetProperty):
2006         (webKitWebSrcStart):
2007
2008 2014-03-05  Chang Shu  <cshu@webkit.org>
2009
2010         Copying wrapping text results in multiple spaces between wrapped lines stripped.
2011         https://bugs.webkit.org/show_bug.cgi?id=129609.
2012
2013         Reviewed by Ryosuke Niwa.
2014
2015         While checking the condition of restoring the missing space, the collapsed spaces
2016         may not be exactly one.
2017
2018         editing/pasteboard/copy-text-with-wrapped-tag.html is enhanced to test this case.
2019
2020         * editing/TextIterator.cpp:
2021         (WebCore::TextIterator::handleTextBox):
2022
2023 2014-03-05  Ryosuke Niwa  <rniwa@webkit.org>
2024
2025         appendChild shouldn't invalidate LiveNodeLists and HTMLCollections if they don't have valid caches
2026         https://bugs.webkit.org/show_bug.cgi?id=129727
2027
2028         Reviewed by Andreas Kling.
2029
2030         Before this patch, invalidateNodeListAndCollectionCachesInAncestors invalidated node lists and HTML
2031         collections on ancestors of a node whenever we're inserting or removing a child node. This patch
2032         makes HTMLCollections and LiveNodeLists register themselves with Document only when they have valid
2033         caches.
2034
2035         Each user of CollectionIndexCache now implements willValidateIndexCache member function that gets
2036         called when CollectionIndexCache caches any state and necessitates the registration with document.
2037
2038         * dom/ChildNodeList.h: Added an empty willValidateIndexCache since child node lists are never
2039         registered with document.
2040
2041         * dom/CollectionIndexCache.h:
2042         (WebCore::CollectionIndexCache::hasValidCache): Added.
2043         (WebCore::CollectionIndexCache::nodeCount): Calls willValidateIndexCache when caching node count.
2044         (WebCore::CollectionIndexCache::nodeAfterCached): Ditto. Also assert that hasValidCache() true in
2045         the cases where we're simply updating our caches or adding more caches.
2046         (WebCore::CollectionIndexCache::nodeAt): Ditto. Also added a code to set the length cache when
2047         we've reached the end of the list. This should be a slight speed up on some cases.
2048
2049         * dom/Document.cpp:
2050         (WebCore::Document::Document): Initializes a variable used by assertions.
2051         (WebCore::Document::unregisterNodeList): Added an early exit for when m_listsInvalidatedAtDocument
2052         is empty since invalidateNodeListAndCollectionCaches swaps out the list.
2053         (WebCore::Document::registerCollection): Removed the boolean hasIdNameMap since we now explicitly
2054         call collectionCachedIdNameMap in HTMLCollection.
2055         (WebCore::Document::unregisterCollection): Ditto. Exit early if m_collectionsInvalidatedAtDocument
2056         is empty since invalidateNodeListAndCollectionCaches swaps out the list.
2057         * dom/Document.h:
2058
2059         * dom/LiveNodeList.cpp:
2060         (WebCore::LiveNodeList::invalidateCache): Unregister the node list with document if we had caches.
2061         * dom/LiveNodeList.h:
2062         (WebCore::LiveNodeList::LiveNodeList):
2063         (WebCore::LiveNodeList::~LiveNodeList): Ditto.
2064         (WebCore::LiveNodeList::invalidateCache): Pass around document. This is necessary since document()
2065         had already moved to the new document inside NodeListsNodeData::invalidateCaches.
2066         (WebCore::LiveNodeList::willValidateIndexCache): Added. Registers itself with document.
2067
2068         * dom/Node.cpp:
2069         (WebCore::Document::invalidateNodeListAndCollectionCaches): Swap the lists since invalidateCache
2070         tries to unregister node lists and HTML collections with document. Since this is the only case in
2071         which node lists and HTML collections being removed may not be in the lists in unregisterNodeList
2072         and unregisterCollection, assert this condition via m_inInvalidateNodeListAndCollectionCaches.
2073         (WebCore::NodeListsNodeData::invalidateCaches):
2074
2075         * dom/NodeRareData.h:
2076         (WebCore::NodeListsNodeData::adoptDocument): Unregister node lists and HTML collections from old
2077         document via invalidateCache. We need to explicitly pass in oldDocument here since owner node's
2078         document had already been changed to newDocument at this point. Since we're invalidating caches,
2079         there is no need to register node lists and HTML collections with newDocument.
2080
2081         * html/HTMLCollection.cpp:
2082         (WebCore::HTMLCollection::HTMLCollection):
2083         (WebCore::HTMLCollection::~HTMLCollection): Unregister the node list with document if we had caches.
2084         (WebCore::HTMLCollection::invalidateCache): Ditto.
2085         (WebCore::HTMLCollection::invalidateNamedElementCache):
2086         * html/HTMLCollection.h:
2087         (WebCore::HTMLCollection::invalidateCache): Pass around document as done in LiveNodeList.
2088         (WebCore::HTMLCollection::willValidateIndexCache): Ditto.
2089
2090         * html/HTMLFormControlsCollection.cpp:
2091         (WebCore::HTMLFormControlsCollection::invalidateCache): Ditto.
2092         * html/HTMLFormControlsCollection.h:
2093
2094         * html/HTMLSelectElement.cpp:
2095         (WebCore::HTMLSelectElement::invalidateSelectedItems): Ditto.
2096         (WebCore::HTMLSelectElement::setRecalcListItems): Ditto.
2097
2098 2014-03-05  Jon Lee  <jonlee@apple.com>
2099
2100         Fix linker error after r165087
2101         https://bugs.webkit.org/show_bug.cgi?id=129730
2102
2103         Reviewed by Csaba Osztrogonác.
2104
2105         * WebCore.exp.in: Remove undefined symbol __ZN7WebCore32WebVideoFullscreenChangeObserverD2Ev.
2106
2107 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2108
2109         Enable device pixel repaint rect tracking.
2110         https://bugs.webkit.org/show_bug.cgi?id=129712
2111
2112         Reviewed by Simon Fraser.
2113
2114         Tracked repaint rects are device pixel snapped now to support hiDPI test cases.
2115
2116         Test: fast/repaint/hidpi-device-pixel-based-repaint-rect-tracking.html
2117
2118         * WebCore.exp.in:
2119         * page/FrameView.cpp:
2120         (WebCore::FrameView::addTrackedRepaintRect):
2121         (WebCore::FrameView::trackedRepaintRectsAsText): Print them as LayoutUnits to get
2122         trailing zeros cut off.
2123         * page/FrameView.h:
2124         * rendering/RenderLayer.cpp:
2125         (WebCore::RenderLayer::calculateClipRects):
2126         * rendering/RenderLayer.h:
2127         * rendering/RenderLayerBacking.cpp:
2128         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
2129         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2130         * rendering/RenderView.cpp:
2131         (WebCore::RenderView::repaintViewRectangle):
2132
2133 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2134
2135         Don't clamp scrolling node offsets when the offset is changed by delegated scrolling
2136         https://bugs.webkit.org/show_bug.cgi?id=129724
2137
2138         Reviewed by Sam Weinig.
2139         
2140         Call setScrollPositionWithoutContentEdgeConstraints() from
2141         ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that
2142         layers are not clamped during rubber-banding.
2143         
2144         This requires making setScrollPositionWithoutContentEdgeConstraints()
2145         a pure virtual function on the base class.
2146
2147         * page/scrolling/ScrollingTree.cpp:
2148         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
2149         * page/scrolling/ScrollingTreeScrollingNode.h:
2150         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
2151         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2152
2153 2014-03-04  Jeremy Jones  <jeremyj@apple.com>
2154
2155         WebVideoFullscreen, should make the hand off of the video layer explicit.
2156         https://bugs.webkit.org/show_bug.cgi?id=128844
2157
2158         Reviewed by Simon Fraser.
2159
2160         This change introduces a more explicit hand-off of the video layer.
2161         This describes the interactions between WebVideoFullscreenInterface and WebVideoFullscreenModel
2162         WebVideoFullscreenModel <-> WebVideoFullscreenInterface
2163               enterFullScreen(*) ->
2164                                 <- borrowVideoLayer
2165               willLendVideoLayer ->
2166                didLendVideoLayer ->
2167                                 <- didEnterFullscreen
2168                                 ...
2169                                 <- requestExitFullscreen
2170                   exitFullscreen ->
2171                                 <- returnVideoLayer
2172                                 <- didExitFullscreen
2173         (*) enterFullScreen actually comes from WebVideoFullscreenControllerAVKit.
2174
2175         * WebCore.exp.in:
2176         Export new functions in WebVideoFullscreenInterfaceAVKit, WebVideoFullscreenModelMediaElement, etc.
2177
2178         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2179         Add WebVideoFullscreenControllerChangeObserver to forward fullscreen callbacks to WebVideoFullscreenController
2180
2181         (WebVideoFullscreenControllerChangeObserver::setTarget):
2182         Sets obj-c target of fullscreen change callbacks.
2183
2184         (-[WebVideoFullscreenController init]):
2185         Point _changeObserver's target at self.
2186
2187         (-[WebVideoFullscreenController dealloc]):
2188         Clear _changeObserver's target.
2189
2190         (-[WebVideoFullscreenController enterFullscreen:]):
2191         Retain self to prevent dealloc during animation or while fullscreen.
2192         Connect _interface to _changeObserver.
2193
2194         (-[WebVideoFullscreenController exitFullscreen]):
2195         Remove use of completion move cleanup to -didExitFullscreen.
2196
2197         (-[WebVideoFullscreenController didEnterFullscreen]):
2198         Nothing to see here.
2199
2200         (-[WebVideoFullscreenController didExitFullscreen]):
2201         Move clean up code that was in a completion to here.
2202
2203         * platform/ios/WebVideoFullscreenInterface.h:
2204         Add delarations for more explicit hand-off of video layer.
2205
2206         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2207         Add WebVideoFullscreenChangeObserver to notify when fullscreen animations complete.
2208         Add declarations for more explicit hand-off of video layer.
2209         Add WebAVPlayerLayer now always wraps the m_videoLayer to prevent default behavior
2210         of AVPlayerLayer.
2211
2212         (WebCore::WebVideoFullscreenChangeObserver::~WebVideoFullscreenChangeObserver):
2213         Add empty virtual destructor.
2214
2215         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2216         Include AVKit headers instead of declaring everything locally.
2217         AVPlayerLayer protocol renamed to AVVideoLayer per AVKit.
2218
2219         (-[WebAVPlayerController dealloc]):
2220         Don't refer to self.
2221
2222         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
2223         Pause before requesting exit fullscreen.
2224
2225         (-[WebAVPlayerLayer setPlayerController:]):
2226         This is required by AVVideoLayer, but we don't need it.
2227
2228         (WebVideoFullscreenInterfaceAVKit::playerController):
2229         White space.
2230
2231         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver):
2232         Set observer to forward fullscreen changes to.
2233
2234         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2235         Use more explicit video layer hand-off.
2236
2237         (WebVideoFullscreenInterfaceAVKit::doEnterFullscreen):
2238         Move enterFullscreen logic here.
2239         AVPlayerViewController now takes the video layer at init time.
2240         Always provide a video layer wrapped in a WebAVPlayerLayer.
2241
2242         (WebVideoFullscreenInterfaceAVKit::willLendVideoLayer):
2243         Use more explicit video layer hand-off.
2244
2245         (WebVideoFullscreenInterfaceAVKit::didLendVideoLayer):
2246         Use more explicit video layer hand-off.
2247
2248         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2249         Use more explicit video layer hand-off.
2250
2251         * platform/ios/WebVideoFullscreenModel.h:
2252         Add functions for more explicit video layer hand-off.
2253
2254         * platform/ios/WebVideoFullscreenModelMediaElement.h:
2255         Mark virtual functions as virtual.
2256         Add changes for WebVideoFullscreenModel.
2257
2258         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
2259         Use more explicit video layer hand-off.
2260
2261         (WebVideoFullscreenModelMediaElement::setMediaElement):
2262         Don't push the video layer. Wait for a request for it.
2263
2264         (WebVideoFullscreenModelMediaElement::handleEvent):
2265         Make sure m_videoFullscreenInterface is valid.
2266
2267         (WebVideoFullscreenModelMediaElement::borrowVideoLayer):
2268         Use more explicit video layer hand-off.
2269         Lend videoLayer in request to a request to borrow the videoLayer.
2270         Make sure to retain the video layer before it is removed from the layer tree.
2271
2272         (WebVideoFullscreenModelMediaElement::returnVideoLayer):
2273         Use more explicit video layer hand-off.
2274
2275         (WebVideoFullscreenModelMediaElement::requestExitFullscreen):
2276         Don't clear the mediaElement reference until completely exited from fullscreen.
2277
2278 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2279
2280         Get position:fixed working slightly better on iOS
2281         https://bugs.webkit.org/show_bug.cgi?id=129714
2282
2283         Reviewed by Benjamin Poulain.
2284
2285         Send the scroll position as a FloatPoint, rather than an IntPoint.
2286
2287         * WebCore.exp.in:
2288         * page/scrolling/ScrollingTree.cpp:
2289         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
2290         * page/scrolling/ScrollingTree.h:
2291
2292 2014-03-04  Alex Christensen  <achristensen@webkit.org>
2293
2294         Fixed Windows build without MEDIA_CONTROLS_SCRIPT enabled.
2295         https://bugs.webkit.org/show_bug.cgi?id=129701
2296
2297         Reviewed by Jer Noble.
2298
2299         * WebCore.vcxproj/WebCore.vcxproj:
2300         * DerivedSources.cpp:
2301         Moved UserAgentScriptsData.cpp to DerivedSources.cpp to only be built if MEDIA_CONTROLS_SCRIPT is enabled.
2302         * DerivedSources.make:
2303         Only generate UserAgentScripts.cpp/h when USER_AGENT_SCRIPTS is non-empty.
2304         * rendering/RenderThemeWin.cpp:
2305         Only include UserAgentScripts.h when MEDIA_CONTROLS_SCRIPT is enabled.
2306
2307 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2308
2309         Allow iOS DumpRenderTree crashes to show application-specific information
2310         https://bugs.webkit.org/show_bug.cgi?id=129705
2311
2312         Reviewed by David Kilzer.
2313
2314         Make the WKSI function SetCrashReportApplicationSpecificInformation available
2315         in iOS simulator builds.
2316
2317         * WebCore.exp.in:
2318         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2319         * platform/mac/WebCoreSystemInterface.h:
2320
2321 2014-03-04  Andreas Kling  <akling@apple.com>
2322
2323         Spam static branch prediction hints on JS bindings.
2324         <https://webkit.org/b/129703>
2325
2326         Add UNLIKELY hints to all !castedThis and exec->hadException() paths
2327         in the JS bindings since they are almost always going to get skipped.
2328
2329         Reviewed by Geoff Garen.
2330
2331         * bindings/scripts/CodeGeneratorJS.pm:
2332         (GenerateImplementation):
2333         (GenerateParametersCheck):
2334         (GenerateImplementationFunctionCall):
2335         (GenerateConstructorDefinition):
2336
2337 2014-03-04  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2338
2339         Remove unused StdDeviation from Gaussian Blur effect
2340         https://bugs.webkit.org/show_bug.cgi?id=129693
2341
2342         Reviewed by Simon Fraser.
2343
2344         No new tests, no change on behavior.
2345
2346         * platform/graphics/filters/FEGaussianBlur.cpp:
2347         * platform/graphics/filters/FEGaussianBlur.h:
2348
2349 2014-03-04  Andreas Kling  <akling@apple.com>
2350
2351         Add a Document::updateStyleIfNeededForNode(Node&).
2352         <https://webkit.org/b/129689>
2353
2354         Generalize the mechanism that computed style uses to avoid doing full
2355         style updates when the node we're interested in isn't actually dirty.
2356
2357         Reviewed by Antti Koivisto.
2358
2359         * css/CSSComputedStyleDeclaration.cpp:
2360         (WebCore::ComputedStyleExtractor::propertyValue):
2361         * dom/Document.cpp:
2362         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2363         (WebCore::Document::updateStyleIfNeededForNode):
2364         * dom/Document.h:
2365         * editing/htmlediting.cpp:
2366         (WebCore::isEditablePosition):
2367         * html/HTMLInputElement.cpp:
2368         (WebCore::HTMLInputElement::defaultEventHandler):
2369
2370 2014-03-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2371
2372         Merge API shims and JSLock
2373         https://bugs.webkit.org/show_bug.cgi?id=129650
2374
2375         Reviewed by Mark Lam.
2376
2377         No new tests.
2378
2379         JSLock is now taking on all of APIEntryShim's responsibilities since there is never a reason 
2380         to take just the JSLock. Ditto for DropAllLocks and APICallbackShim.
2381
2382         * bindings/js/DOMRequestState.h:
2383         (WebCore::DOMRequestState::Scope::Scope):
2384         * bindings/js/JSDOMPromise.h:
2385         (WebCore::DeferredWrapper::resolve):
2386         (WebCore::DeferredWrapper::reject):
2387         (WebCore::DeferredWrapper::resolve<String>):
2388         (WebCore::DeferredWrapper::resolve<bool>):
2389         (WebCore::char>>):
2390         (WebCore::DeferredWrapper::reject<String>):
2391         * bindings/js/ScriptController.cpp:
2392         (WebCore::ScriptController::evaluateInWorld):
2393         * bindings/js/SerializedScriptValue.cpp:
2394         (WebCore::SerializedScriptValue::create):
2395         (WebCore::SerializedScriptValue::deserialize):
2396
2397 2014-03-04  Beth Dakin  <bdakin@apple.com>
2398
2399         REGRESSION: Overlay scrollbars that have grown are sometimes askew in the track
2400         https://bugs.webkit.org/show_bug.cgi?id=129691
2401         -and corresponding-
2402         <rdar://problem/15666846>
2403
2404         Reviewed by Simon Fraser.
2405
2406         This regression started happening after we adopted the setPresentationValue 
2407         ScrollbarPainter API which allows us to update the position of the scrollbar knob 
2408         from our secondary scrolling thread. The bug occurs when the scrollbar grows while 
2409         it still thinks it is in presentation-value mode. Whenever the scrollbar grows, it 
2410         should be in non-presentation value mode.
2411
2412         If the wheel event has ended or been cancelled, we can switch out of presentation 
2413         value mode.
2414         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2415         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
2416
2417         Sometimes we will grow the scrollbar before we have received a wheel event with 
2418         the end or cancelled phase, and so automatically switch out of presentation-value 
2419         mode whenever we start one of these animations.
2420         * platform/mac/ScrollAnimatorMac.mm:
2421         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2422
2423 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
2424
2425         Move Source/WebCore/html/track/ code to std::unique_ptr
2426         https://bugs.webkit.org/show_bug.cgi?id=129666
2427
2428         Reviewed by Eric Carlson.
2429
2430         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/track/ with std::unique_ptr.
2431
2432         * html/track/AudioTrack.h:
2433         * html/track/InbandWebVTTTextTrack.cpp:
2434         (WebCore::InbandWebVTTTextTrack::parseWebVTTCueData):
2435         * html/track/InbandWebVTTTextTrack.h:
2436         * html/track/LoadableTextTrack.cpp:
2437         (WebCore::LoadableTextTrack::loadTimerFired):
2438         (WebCore::LoadableTextTrack::newCuesAvailable):
2439         (WebCore::LoadableTextTrack::cueLoadingCompleted):
2440         (WebCore::LoadableTextTrack::newRegionsAvailable):
2441         * html/track/LoadableTextTrack.h:
2442         * html/track/TextTrack.h:
2443         * html/track/TextTrackCue.h:
2444         * html/track/TextTrackRegion.h:
2445         * html/track/VTTCue.cpp:
2446         (WebCore::VTTCue::createWebVTTNodeTree):
2447         (WebCore::VTTCue::markFutureAndPastNodes):
2448         * html/track/VTTCue.h:
2449         * html/track/VideoTrack.h:
2450         * html/track/WebVTTParser.cpp:
2451         (WebCore::WebVTTParser::WebVTTParser):
2452         * html/track/WebVTTParser.h:
2453         * html/track/WebVTTTokenizer.h:
2454         * loader/TextTrackLoader.cpp:
2455         (WebCore::TextTrackLoader::processNewCueData):
2456         * loader/TextTrackLoader.h:
2457
2458 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2459
2460         Subpixel rendering: Make border-radius painting device pixel aware.
2461         https://bugs.webkit.org/show_bug.cgi?id=129558
2462
2463         Reviewed by Simon Fraser.
2464
2465         Snap rounded rects to device pixels right before passing them to GraphicsContext.
2466
2467         * rendering/RenderBoxModelObject.cpp:
2468         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
2469         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2470         (WebCore::RenderBoxModelObject::paintBorder):
2471         * rendering/RenderBoxModelObject.h:
2472         * rendering/RenderReplaced.cpp:
2473         (WebCore::RenderReplaced::paint):
2474         * rendering/RenderWidget.cpp:
2475         (WebCore::RenderWidget::paint):
2476
2477 2014-03-04  Simon Fraser  <simon.fraser@apple.com>
2478
2479         Crashes and assertions running iOS compositing tests
2480         https://bugs.webkit.org/show_bug.cgi?id=129688
2481
2482         Reviewed by Dean Jackson.
2483         
2484         When a layer is no longer composited, we need to unregister it
2485         from the scrolling coordinator, and remove it from m_scrollCoordinatedLayers.
2486
2487         Tested by compositing tests on iOS.
2488
2489         * rendering/RenderLayerCompositor.cpp:
2490         (WebCore::RenderLayerCompositor::updateBacking):
2491
2492 2014-03-04  Antti Koivisto  <antti@apple.com>
2493
2494         Update bindings test results after r165046.
2495
2496         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2497         (webkit_dom_test_obj_set_property):
2498         (webkit_dom_test_obj_set_reflected_string_attr):
2499         (webkit_dom_test_obj_set_reflected_url_attr):
2500         (webkit_dom_test_obj_set_reflected_custom_url_attr):
2501         * bindings/scripts/test/JS/JSTestObj.cpp:
2502         (WebCore::setJSTestObjReflectedStringAttr):
2503         (WebCore::setJSTestObjReflectedURLAttr):
2504         (WebCore::setJSTestObjReflectedCustomURLAttr):
2505         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2506         (-[DOMTestObj setReflectedStringAttr:]):
2507         (-[DOMTestObj setReflectedURLAttr:]):
2508         (-[DOMTestObj setReflectedCustomURLAttr:]):
2509
2510 2014-03-04  Martin Robinson  <mrobinson@igalia.com>
2511
2512         [GTK] Simplify the GObject DOM bindings API break check into one step
2513         https://bugs.webkit.org/show_bug.cgi?id=129571
2514
2515         Reviewed by Carlos Garcia Campos.
2516
2517         * bindings/gobject/GNUmakefile.am: We no longer generate the webkitdom.symbols file in the
2518         DerivedSources directory. All the logic is handled internally in the script now.
2519         * bindings/scripts/gobject-run-api-break-test: Removed.
2520
2521 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2522
2523         Build fix for iOS.
2524
2525         * rendering/RenderThemeIOS.mm:
2526         (WebCore::RenderThemeIOS::addRoundedBorderClip):
2527         (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
2528
2529 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2530
2531         Subpixel rendering: Make GraphicsLayer::fillRect FloatRoundedRect based and cleanup dependencies.
2532         https://bugs.webkit.org/show_bug.cgi?id=129557
2533
2534         Reviewed by Simon Fraser.
2535
2536         This is the preparation for snapping rounded rects to device pixel position. It enables
2537         device pixel aware border-radius painting.
2538
2539         No change in functionality.
2540
2541         * platform/efl/RenderThemeEfl.cpp:
2542         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
2543         * platform/graphics/FloatRoundedRect.cpp:
2544         (WebCore::FloatRoundedRect::FloatRoundedRect):
2545         (WebCore::FloatRoundedRect::isRenderable):
2546         * platform/graphics/FloatRoundedRect.h:
2547         * platform/graphics/GraphicsContext.cpp:
2548         (WebCore::GraphicsContext::clipRoundedRect):
2549         (WebCore::GraphicsContext::clipOutRoundedRect):
2550         (WebCore::GraphicsContext::fillRoundedRect):
2551         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2552         * platform/graphics/GraphicsContext.h:
2553         * platform/graphics/Path.cpp:
2554         (WebCore::Path::addRoundedRect):
2555         * platform/graphics/Path.h:
2556         * platform/graphics/RoundedRect.cpp:
2557         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
2558         * platform/graphics/RoundedRect.h:
2559         * platform/graphics/ShadowBlur.cpp:
2560         (WebCore::ShadowBlur::drawRectShadow):
2561         (WebCore::ShadowBlur::drawInsetShadow):
2562         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2563         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2564         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2565         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2566         * platform/graphics/ShadowBlur.h:
2567         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2568         (WebCore::GraphicsContext::fillRect):
2569         (WebCore::GraphicsContext::platformFillRoundedRect):
2570         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2571         * platform/graphics/cg/GraphicsContextCG.cpp:
2572         (WebCore::GraphicsContext::fillRect):
2573         (WebCore::GraphicsContext::platformFillRoundedRect):
2574         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2575         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2576         (WebCore::GraphicsContext::fillRoundedRect):
2577         * platform/gtk/RenderThemeGtk.cpp:
2578         (WebCore::borderRadiiFromStyle):
2579         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2580         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
2581         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
2582         * platform/win/DragImageWin.cpp:
2583         (WebCore::createDragImageForLink):
2584         * rendering/RenderBox.cpp:
2585         (WebCore::RenderBox::paintBoxDecorations):
2586         (WebCore::RenderBox::pushContentsClip):
2587         * rendering/RenderBoxModelObject.cpp:
2588         (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
2589         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2590         (WebCore::RenderBoxModelObject::paintBorder):
2591         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2592         (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
2593         (WebCore::RenderBoxModelObject::paintBoxShadow):
2594         * rendering/RenderLayer.cpp:
2595         (WebCore::RenderLayer::clipToRect):
2596         * rendering/RenderThemeIOS.mm:
2597         (WebCore::RenderThemeIOS::paintRadioDecorations):
2598         (WebCore::RenderThemeIOS::paintTextFieldDecorations):
2599         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
2600         (WebCore::RenderThemeIOS::paintSliderTrack):
2601         (WebCore::RenderThemeIOS::paintProgressBar):
2602         (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
2603         * rendering/RenderThemeMac.mm:
2604         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2605         (WebCore::RenderThemeMac::paintSliderTrack):
2606         * rendering/RenderThemeSafari.cpp:
2607         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2608         (WebCore::RenderThemeSafari::paintSliderTrack):
2609         * rendering/shapes/BoxShape.cpp:
2610         (WebCore::BoxShape::buildDisplayPaths):
2611         * rendering/style/BasicShapes.cpp:
2612         (WebCore::BasicShapeInset::path):
2613
2614 2014-03-04  Andreas Kling  <akling@apple.com>
2615
2616         Micro-optimize Strings in JS bindings.
2617         <https://webkit.org/b/129673>
2618
2619         Tweaked for new jsStringWithWeakOwner signature. This patch removes
2620         36 bytes of code from every wrapper getter that returns a DOMString.
2621
2622         Reviewed by Ryosuke Niwa.
2623
2624         * bindings/js/JSDOMBinding.h:
2625         (WebCore::jsStringWithCache):
2626
2627 2014-03-03  David Kilzer  <ddkilzer@apple.com>
2628
2629         SVGPropertyTearOffs should detachChildren before deleting its value.
2630         <http://webkit.org/b/129618>
2631         <rdar://problem/15661617>
2632
2633         Reviewed by Maciej Stachowiak.
2634
2635         Merged from Blink (patch by kouhei@chromium.org):
2636         https://src.chromium.org/viewvc/blink?revision=158563&view=revision
2637         http://crbug.com/296276
2638
2639         Test: svg/transforms/svg-matrix-tearoff-crash.html
2640
2641         NOTE: The test does not reproduce a crash on WebKit using
2642         JavaScriptCore.
2643
2644         * svg/properties/SVGPropertyTearOff.h:
2645         (WebCore::SVGPropertyTearOff::setValue):
2646         (WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):
2647         - Call detachChildren() if m_value is a copy.  The original
2648           Blink patch did not modify the destructor code path, although
2649           that seems obvious via code inspection.
2650
2651 2014-03-04  Zalan Bujtas  <zalan@apple.com>
2652
2653         Subpixel rendering: Incorrect repaint rect cuts off content's right edge after move.
2654         https://bugs.webkit.org/show_bug.cgi?id=129652
2655
2656         Reviewed by Simon Fraser.
2657
2658         When repaint rect is adjusted in order to take the distance from renderer into account,
2659         the accumulated fraction value need to be added too. This is always a positive value.
2660
2661         Test: fast/borders/hidpi-border-clipping-right-after-move.html
2662
2663         * rendering/RenderLayerBacking.cpp:
2664         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2665
2666 2014-03-04  Ryuan Choi  <ryuan.choi@samsung.com>
2667
2668         Remove unused member variable of NetworkInfoController
2669         https://bugs.webkit.org/show_bug.cgi?id=129674
2670
2671         Reviewed by Gyuyoung Kim.
2672
2673         * Modules/networkinfo/NetworkInfoController.cpp:
2674         (WebCore::NetworkInfoController::NetworkInfoController):
2675         (WebCore::NetworkInfoController::create):
2676         (WebCore::provideNetworkInfoTo):
2677         * Modules/networkinfo/NetworkInfoController.h: Removed m_page which is not really used.
2678
2679 2014-02-07  Sergio Villar Senin  <svillar@igalia.com>
2680
2681         [CSS Grid Layout] Percentages of indefinite sizes should compute to auto
2682         https://bugs.webkit.org/show_bug.cgi?id=128173
2683
2684         Reviewed by Darin Adler.
2685
2686         We should treat percentages of indefinite sizes as auto as
2687         mandated by the spec. Otherwise we would end up calculating a
2688         percentage of -1, the value we use to represent infinite.
2689
2690         Added some test cases to the current tests.
2691
2692         * rendering/RenderGrid.cpp:
2693         (WebCore::RenderGrid::gridTrackSize):
2694         * rendering/style/GridTrackSize.h:
2695         (WebCore::GridTrackSize::isPercentage):
2696
2697 2014-03-04  Ryosuke Niwa  <rniwa@webkit.org>
2698
2699         Don't synchronize attributes in reflect setters when we don't need to
2700         https://bugs.webkit.org/show_bug.cgi?id=129662
2701
2702         Reviewed by Andreas Kling.
2703
2704         The vast majority of attributes don't need synchronization. Avoid calling synchronizeAttribute in setters
2705         for those content attributes generated by "Reflect" keyword in IDL.
2706
2707         * bindings/scripts/CodeGenerator.pm:
2708         (SetterExpression):
2709         * dom/Element.cpp:
2710         (WebCore::Element::setAttributeWithoutSynchronization): Added.
2711         * dom/Element.h:
2712
2713 2014-03-04  Andreas Kling  <akling@apple.com>
2714
2715         Remove Document::idAttributeName().
2716         <https://webkit.org/b/129663>
2717
2718         Reviewed by Ryosuke "DYEB" Niwa.
2719
2720         This abstraction is not actually used and causes unnecessary indirection
2721         in some pretty hot code paths.
2722
2723         Replace it with hard-coded HTMLNames::idAttr instead which is a compile
2724         time constant pointer. We can revisit this in the future if we wish to
2725         implement support for custom id attributes.
2726
2727         * dom/Attr.cpp:
2728         (WebCore::Attr::isId):
2729         * dom/Document.cpp:
2730         (WebCore::Document::Document):
2731         * dom/Document.h:
2732         * dom/Element.cpp:
2733         (WebCore::Element::attributeChanged):
2734         (WebCore::Element::willModifyAttribute):
2735         * dom/Element.h:
2736         (WebCore::Element::getIdAttribute):
2737         (WebCore::Element::getNameAttribute):
2738         (WebCore::Element::setIdAttribute):
2739         * html/HTMLElement.cpp:
2740         (WebCore::HTMLElement::parseAttribute):
2741         * html/HTMLFrameElementBase.cpp:
2742         (WebCore::HTMLFrameElementBase::parseAttribute):
2743         * html/HTMLMapElement.cpp:
2744         (WebCore::HTMLMapElement::parseAttribute):
2745         * svg/SVGElement.cpp:
2746         (WebCore::SVGElement::attributeChanged):
2747         (WebCore::SVGElement::isKnownAttribute):
2748         (WebCore::SVGElement::svgAttributeChanged):
2749
2750 2014-03-04  Ryosuke Niwa  <rniwa@webkit.org>
2751
2752         REGRESSION(r164856): Use after free in WebCore::QualifiedName::operator== / WebCore::StyledElement::attributeChanged
2753         https://bugs.webkit.org/show_bug.cgi?id=129550
2754
2755         Reviewed by Andreas Kling.
2756
2757         We can't store a reference to QualifiedName here because ensureUniqueElementData could delete QualifiedName inside Attribute.
2758
2759         Test: fast/dom/uniquing-attributes-via-setAttribute.html
2760
2761         * dom/Element.cpp:
2762         (WebCore::Element::setAttributeInternal):
2763
2764 2014-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
2765
2766         Move EvasGLContext and EvasGLSurface files into the efl common directory.
2767         https://bugs.webkit.org/show_bug.cgi?id=129603
2768
2769         Reviewed by Gyuyoung Kim.
2770
2771         EFL port will use EvasGLContext and EvasGLSurface files in both WK1 and WK2.
2772
2773         No new tests, just refactorings.
2774
2775         * PlatformEfl.cmake:
2776         * platform/graphics/efl/EvasGLContext.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.cpp.
2777         (WebKit::EvasGLContext::EvasGLContext):
2778         (WebKit::EvasGLContext::~EvasGLContext):
2779         * platform/graphics/efl/EvasGLContext.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLContext.h.
2780         (WebKit::EvasGLContext::create):
2781         (WebKit::EvasGLContext::context):
2782         * platform/graphics/efl/EvasGLSurface.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.cpp.
2783         (WebKit::EvasGLSurface::EvasGLSurface):
2784         (WebKit::EvasGLSurface::~EvasGLSurface):
2785         * platform/graphics/efl/EvasGLSurface.h: Renamed from Source/WebKit2/UIProcess/API/efl/EvasGLSurface.h.
2786         (WebKit::EvasGLSurface::create):
2787         (WebKit::EvasGLSurface::surface):
2788
2789 2014-03-03  Martin Robinson  <mrobinson@igalia.com>
2790
2791         Fix the GTK+ CMake build
2792
2793         * PlatformGTK.cmake: Add a missing file to the source list.
2794
2795 2014-03-03  Sanghyup Lee  <sh53.lee@samsung.com>
2796
2797         :active style is not cleared when its display property is set to none before mouse released.
2798         https://bugs.webkit.org/show_bug.cgi?id=129465
2799
2800         Reviewed by Antonio Gomes.
2801
2802         Source/WebCore:
2803
2804         We currently clearing the :active style when element has a renderer.
2805         This patch makes elements clear its active style regardless of renderer. 
2806
2807         * dom/Document.cpp:
2808         (WebCore::Document::updateHoverActiveState):
2809
2810         LayoutTests:
2811
2812         * fast/css/active-display-none-expected.txt: Added.
2813         * fast/css/active-display-none.html: Added.
2814
2815
2816 2014-03-03  Andreas Kling  <akling@apple.com>
2817
2818         Remove 2 unnecessary includes from JSDOMBinding.h
2819         <https://webkit.org/b/129619>
2820
2821         Reviewed by Antti Koivisto.
2822
2823         * bindings/js/JSDOMBinding.h:
2824
2825 2014-03-03  Myles C. Maxfield  <mmaxfield@apple.com>
2826
2827         GraphicsContext::drawLineForText needs to be exported from WebCore.dylib for iOS builds
2828         https://bugs.webkit.org/show_bug.cgi?id=129647
2829
2830         Reviewed by NOBODY (This is a build fix).
2831
2832         Fixing after r165025 and r165016.
2833
2834         No new tests as this is a build fix.
2835
2836         * WebCore.exp.in:
2837
2838 2014-03-03  Jer Noble  <jer.noble@apple.com>
2839
2840         [iOS] Start playback button misplaced
2841         https://bugs.webkit.org/show_bug.cgi?id=129628
2842
2843         Reviewed by Simon Fraser.
2844
2845         On YouTube embeds, while the video is loading it is placed into the DOM with a 0x0 size.
2846         This causes the start playback button to be visible in the upper-left corner of the embed
2847         area. The button wasn't visible previously (in plugin mode) because the plugin clipped its
2848         drawing to its bounds, and so the <video> shadow should do the same.
2849
2850         * Modules/mediacontrols/mediaControlsiOS.css:
2851         (::-webkit-media-controls):
2852
2853 2014-03-03  Enrica Casucci  <enrica@apple.com>
2854
2855         Build fix for iOS simulator.
2856
2857         * WebCore.exp.in:
2858
2859 2014-03-03  Jeremy Jones  <jeremyj@apple.com>
2860
2861         Forward application suspend resume notifications to the web process.
2862         https://bugs.webkit.org/show_bug.cgi?id=129356
2863
2864         Reviewed by Eric Carlson.
2865
2866         * platform/audio/ios/MediaSessionManagerIOS.mm:
2867         (-[WebMediaSessionHelper initWithCallback:]):
2868         Observe UIApplicationDidBecomeActiveNotification,
2869         WebUIApplicationDidBecomeActiveNotification,
2870         WebUIApplicationWillEnterForegroundNotification, and
2871         WebUIApplicationWillResignActiveNotification
2872         
2873         (-[WebMediaSessionHelper applicationDidBecomeActive:]):
2874         Resume session.
2875
2876 2014-03-03  Commit Queue  <commit-queue@webkit.org>
2877
2878         Unreviewed, rolling out r165013.
2879         http://trac.webkit.org/changeset/165013
2880         https://bugs.webkit.org/show_bug.cgi?id=129646
2881
2882         New code is not thread safe, asserting on a worker test
2883         (Requested by ap on #webkit).
2884
2885         * WebCore.exp.in:
2886         * editing/DeleteButtonController.cpp:
2887         (WebCore::DeleteButtonController::createDeletionUI):
2888         * html/DOMURL.cpp:
2889         (WebCore::DOMURL::revokeObjectURL):
2890         * inspector/InspectorPageAgent.cpp:
2891         (WebCore::InspectorPageAgent::cachedResource):
2892         * inspector/InspectorResourceAgent.cpp:
2893         (WebCore::InspectorResourceAgent::replayXHR):
2894         * loader/DocumentLoader.cpp:
2895         (WebCore::areAllLoadersPageCacheAcceptable):
2896         * loader/FrameLoader.cpp:
2897         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
2898         * loader/ImageLoader.cpp:
2899         (WebCore::ImageLoader::updateFromElement):
2900         * loader/archive/cf/LegacyWebArchive.cpp:
2901         (WebCore::LegacyWebArchive::create):
2902         * loader/cache/CachedCSSStyleSheet.cpp:
2903         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2904         * loader/cache/CachedCSSStyleSheet.h:
2905         * loader/cache/CachedFont.cpp:
2906         (WebCore::CachedFont::CachedFont):
2907         * loader/cache/CachedFont.h:
2908         * loader/cache/CachedImage.cpp:
2909         (WebCore::CachedImage::CachedImage):
2910         * loader/cache/CachedImage.h:
2911         * loader/cache/CachedRawResource.cpp:
2912         (WebCore::CachedRawResource::CachedRawResource):
2913         * loader/cache/CachedRawResource.h:
2914         * loader/cache/CachedResource.cpp:
2915         (WebCore::CachedResource::CachedResource):
2916         (WebCore::CachedResource::~CachedResource):
2917         * loader/cache/CachedResource.h:
2918         * loader/cache/CachedResourceLoader.cpp:
2919         (WebCore::createResource):
2920         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
2921         (WebCore::CachedResourceLoader::requestResource):
2922         (WebCore::CachedResourceLoader::revalidateResource):
2923         (WebCore::CachedResourceLoader::loadResource):
2924         * loader/cache/CachedResourceLoader.h:
2925         * loader/cache/CachedSVGDocument.cpp:
2926         (WebCore::CachedSVGDocument::CachedSVGDocument):
2927         * loader/cache/CachedSVGDocument.h:
2928         * loader/cache/CachedScript.cpp:
2929         (WebCore::CachedScript::CachedScript):
2930         * loader/cache/CachedScript.h:
2931         * loader/cache/CachedTextTrack.cpp:
2932         (WebCore::CachedTextTrack::CachedTextTrack):
2933         * loader/cache/CachedTextTrack.h:
2934         * loader/cache/CachedXSLStyleSheet.cpp:
2935         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
2936         * loader/cache/CachedXSLStyleSheet.h:
2937         * loader/cache/MemoryCache.cpp:
2938         (WebCore::MemoryCache::add):
2939         (WebCore::MemoryCache::revalidationSucceeded):
2940         (WebCore::MemoryCache::resourceForURL):
2941         (WebCore::MemoryCache::resourceForRequest):
2942         (WebCore::MemoryCache::addImageToCache):
2943         (WebCore::MemoryCache::removeImageFromCache):
2944         (WebCore::MemoryCache::evict):
2945         (WebCore::MemoryCache::removeResourcesWithOrigin):
2946         (WebCore::MemoryCache::getOriginsWithCache):
2947         (WebCore::MemoryCache::removeUrlFromCache):
2948         (WebCore::MemoryCache::removeRequestFromCache):
2949         (WebCore::MemoryCache::removeRequestFromCacheImpl):
2950         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache):
2951         (WebCore::MemoryCache::getStatistics):
2952         (WebCore::MemoryCache::setDisabled):
2953         * loader/cache/MemoryCache.h:
2954         * platform/CrossThreadCopier.cpp:
2955         * platform/CrossThreadCopier.h:
2956         * platform/network/cf/ResourceRequest.h:
2957         (WebCore::ResourceRequest::ResourceRequest):
2958         * rendering/RenderSnapshottedPlugIn.cpp:
2959         (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
2960         * testing/Internals.cpp:
2961         (WebCore::Internals::isLoadingFromMemoryCache):
2962
2963 2014-03-03  Sam Weinig  <sam@webkit.org>
2964
2965         Fix the iOS Simulator build.
2966
2967         * WebCore.exp.in:
2968
2969 2014-03-03  Myles C. Maxfield  <mmaxfield@apple.com>
2970
2971         Space between double underlines does not scale with font size
2972         https://bugs.webkit.org/show_bug.cgi?id=129521
2973
2974         Reviewed by Simon Fraser.
2975
2976         This patch moves the logic about how far to draw the second underline (when text-decoration-style: double
2977         is specified) from InlineTextBox to GraphicsContext, because GraphicsContext is the authoritative source
2978         about how thick underlines should be. The space between the two underlines is set to the thickness of
2979         each of the underlines.
2980
2981         This patch also deletes some unused code in InlineTextBox that was never getting triggered, in addition
2982         to unifying drawLineForText with drawLinesForText. This didn't have any performance impact in my testing.
2983
2984         Test: fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html
2985
2986         * platform/graphics/GraphicsContext.h: drawLineForText takes a boolean for if we should draw double
2987         underlines.
2988         * platform/graphics/cg/GraphicsContextCG.cpp:
2989         (WebCore::GraphicsContext::drawLineForText):
2990         (WebCore::GraphicsContext::drawLinesForText):
2991         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2992         (WebCore::GraphicsContext::drawLineForText):
2993         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2994         (WebCore::GraphicsContext::drawLineForText):
2995         * rendering/InlineTextBox.cpp: Use new boolean argument
2996         (WebCore::drawSkipInkUnderline):
2997         (WebCore::InlineTextBox::paintDecoration):
2998
2999 2014-02-28  Chris Fleizach  <cfleizach@apple.com>
3000
3001         AX: Support IOS Accessibility in WK2
3002         https://bugs.webkit.org/show_bug.cgi?id=129527
3003
3004         Reviewed by Sam Weinig.
3005
3006         Update the iOS wrapper so that it can convert points to screen space in WebKit2.
3007
3008         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3009         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
3010         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
3011
3012 2014-03-03  Martin Hock  <mhock@apple.com>
3013
3014         Add support for sessions to MemoryCache.
3015         https://bugs.webkit.org/show_bug.cgi?id=127794
3016
3017         Reviewed by Sam Weinig.
3018
3019         * WebCore.exp.in:
3020         * editing/DeleteButtonController.cpp:
3021         (WebCore::DeleteButtonController::createDeletionUI): Initialize CachedImage with sessionID.
3022         * html/DOMURL.cpp:
3023         (WebCore::DOMURL::revokeObjectURL): Remove URL from MemoryCache for all sessions.
3024         * inspector/InspectorPageAgent.cpp:
3025         (WebCore::InspectorPageAgent::cachedResource): Pass sessionID to MemoryCache.
3026         * inspector/InspectorResourceAgent.cpp:
3027         (WebCore::InspectorResourceAgent::replayXHR): Ditto.
3028         * loader/DocumentLoader.cpp:
3029         (WebCore::areAllLoadersPageCacheAcceptable): Ditto.
3030         * loader/FrameLoader.cpp:
3031         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Ditto.
3032         * loader/ImageLoader.cpp:
3033         (WebCore::ImageLoader::updateFromElement): Initialize CachedImage with sessionID.
3034         * loader/archive/cf/LegacyWebArchive.cpp:
3035         (WebCore::LegacyWebArchive::create): Pass sessionID to MemoryCache.
3036         * loader/cache/CachedCSSStyleSheet.cpp:
3037         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Constructor takes sessionID.
3038         * loader/cache/CachedCSSStyleSheet.h:
3039         * loader/cache/CachedFont.cpp: Ditto.
3040         (WebCore::CachedFont::CachedFont):
3041         * loader/cache/CachedFont.h:
3042         * loader/cache/CachedImage.cpp: Ditto.
3043         (WebCore::CachedImage::CachedImage):
3044         * loader/cache/CachedImage.h:
3045         * loader/cache/CachedRawResource.cpp: Ditto.
3046         (WebCore::CachedRawResource::CachedRawResource):
3047         * loader/cache/CachedRawResource.h:
3048         * loader/cache/CachedResource.cpp: Ditto.
3049         (WebCore::CachedResource::CachedResource):
3050         (WebCore::CachedResource::~CachedResource): Pass sessionID to MemoryCache.
3051         * loader/cache/CachedResource.h:
3052         (WebCore::CachedResource::sessionID):
3053         * loader/cache/CachedResourceLoader.cpp:
3054         (WebCore::createResource): Constructors take sessionID.
3055         (WebCore::CachedResourceLoader::sessionID): Retrieve sessionID from page.
3056         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass sessionID to MemoryCache.
3057         (WebCore::CachedResourceLoader::requestResource): Initialize CachedCSSStyleSheet with sessionID.
3058         (WebCore::CachedResourceLoader::revalidateResource): Initialize cached resource with sessionID.
3059         (WebCore::CachedResourceLoader::loadResource): Pass sessionID to MemoryCache and initialize cached resource with sessionID.
3060         * loader/cache/CachedResourceLoader.h:
3061         * loader/cache/CachedSVGDocument.cpp: Constructor takes sessionID.
3062         (WebCore::CachedSVGDocument::CachedSVGDocument):
3063         * loader/cache/CachedSVGDocument.h:
3064         * loader/cache/CachedScript.cpp: Ditto.
3065         (WebCore::CachedScript::CachedScript):
3066         * loader/cache/CachedScript.h:
3067         * loader/cache/CachedTextTrack.cpp: Ditto.
3068         (WebCore::CachedTextTrack::CachedTextTrack):
3069         * loader/cache/CachedTextTrack.h:
3070         * loader/cache/CachedXSLStyleSheet.cpp: Ditto.
3071         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
3072         * loader/cache/CachedXSLStyleSheet.h:
3073         * loader/cache/MemoryCache.cpp:
3074         (WebCore::MemoryCache::getSessionMap): Retrieve CachedResourceMap based on sessionID.
3075         (WebCore::MemoryCache::add): Use sessionID from CachedResource parameter.
3076         (WebCore::MemoryCache::revalidationSucceeded): Add sessionID parameter.
3077         (WebCore::MemoryCache::resourceForURL): Ditto.
3078         (WebCore::MemoryCache::resourceForRequest): Ditto, also move impl into impl method.
3079         (WebCore::MemoryCache::resourceForRequestImpl): Add CachedResourceMap parameter.
3080         (WebCore::MemoryCache::addImageToCache): Use default sessionID.
3081         (WebCore::MemoryCache::removeImageFromCache): Ditto.
3082         (WebCore::MemoryCache::evict): Use sessionID from CachedResource parameter.
3083         (WebCore::MemoryCache::removeResourcesWithOrigin): Iterate through all CachedResourceMaps.
3084         (WebCore::MemoryCache::getOriginsWithCache): Ditto.
3085         (WebCore::MemoryCache::removeUrlFromCache): Add sessionID parameter.
3086         (WebCore::MemoryCache::removeRequestFromCache): Ditto.
3087         (WebCore::MemoryCache::removeRequestFromCacheImpl): Ditto.
3088         (WebCore::MemoryCache::removeRequestFromSessionCaches): Iterate through all CachedResourceMaps.
3089         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add sessionID parameter.
3090         (WebCore::MemoryCache::getStatistics): Iterate through all CachedResourceMaps.
3091         (WebCore::MemoryCache::setDisabled): Ditto.
3092         * loader/cache/MemoryCache.h: Create another level for cache.
3093         * platform/CrossThreadCopier.cpp: Allow copying SessionIDs across threads.
3094         (WebCore::SessionID>::copy):
3095         * platform/CrossThreadCopier.h:
3096         * platform/network/cf/ResourceRequest.h:
3097         (WebCore::ResourceRequest::ResourceRequest): Remove trailing whitespace.
3098         * rendering/RenderSnapshottedPlugIn.cpp:
3099         (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Initialize CachedImage with sessionID.
3100         * testing/Internals.cpp:
3101         (WebCore::Internals::isLoadingFromMemoryCache): Pass sessionID to MemoryCache.
3102
3103 2014-03-03  Andreas Kling  <akling@apple.com>
3104
3105         Remove unused DataView code from JSDOMBinding.h
3106         <https://webkit.org/b/129616>
3107
3108         Reviewed by Antti Koivisto.
3109
3110         * bindings/js/JSDOMBinding.h:
3111
3112 2014-03-03  Simon Fraser  <simon.fraser@apple.com>
3113
3114         Allow overflow-scroll to be one-finger scrolled until we hook up UIScrollViews
3115         https://bugs.webkit.org/show_bug.cgi?id=129621
3116
3117         Reviewed by Benjamin Poulain.
3118
3119         Temporary change to allow overflow:scroll to be scrolled in iOS WK2.
3120
3121         * rendering/RenderLayer.cpp:
3122         (WebCore::RenderLayer::hasAcceleratedTouchScrolling):
3123
3124 2014-03-03  Antti Koivisto  <antti@apple.com>
3125
3126         Find results on simple lines are not marked correctly
3127         https://bugs.webkit.org/show_bug.cgi?id=129586
3128
3129         Reviewed by Andreas Kling.
3130
3131         Tests: editing/text-iterator/count-mark-lineboxes.html
3132                editing/text-iterator/count-mark-simple-lines.html
3133                
3134         TextIterator operating on simple lines failed to take the end of the range into account.
3135         This also causes performance issues on long documents as range traversals would miss the end
3136         node and end up going through the entire document.
3137
3138         * editing/TextIterator.cpp:
3139         (WebCore::TextIterator::handleTextNode):
3140         
3141             Stop when hitting the range end on simple text nodes.
3142
3143         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
3144         
3145             Use hasRenderedText test instead of linebox-only firstTextBox.
3146
3147         * testing/Internals.cpp:
3148         (WebCore::Internals::countMatchesForText):
3149         * testing/Internals.h:
3150         * testing/Internals.idl:
3151         
3152             Add testing interface for counting and marking matches.
3153
3154 2014-03-03  Benjamin Poulain  <benjamin@webkit.org>
3155
3156         SelectorQuery failing RightMostWithIdMatch are compiling their selectors for each execution
3157         https://bugs.webkit.org/show_bug.cgi?id=129601
3158
3159         Reviewed by Andreas Kling.
3160
3161         This caused a regression after r164924 for documents in quirks mode. Since those always fail
3162         selectorForIdLookup(), they ended up compiling the selector every time they were called.
3163
3164         * dom/SelectorQuery.cpp:
3165         (WebCore::SelectorDataList::execute):
3166
3167 2014-03-01  Jer Noble  <jer.noble@apple.com>
3168
3169         [Mac] Crash in MediaPlayer::rateChanged()
3170         https://bugs.webkit.org/show_bug.cgi?id=129548
3171
3172         Reviewed by Darin Adler.
3173
3174         WTF::bind will automatically ref the parameters added to it. But MediaPlayerPrivate-
3175         AVFoundation and -MediaSOurceAVFObjC are not RefCounted, so by the time the bound
3176         function is called, the underlying objects may have been freed.
3177
3178         Replace or augment callOnMainThread arguments with lambdas and weakPtrs so that
3179         if the argument has been destroyed, its methods will not be called.
3180
3181         Make the MediaPlayerPrivateAVFoundation::Notification function type a std::function:
3182         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3183         (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
3184         (WebCore::MediaPlayerPrivateAVFoundation::Notification::function):
3185
3186         Make createWeakPtr() public so that it can be called from non-class methods:
3187         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3188         (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr): 
3189         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3190         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr): 
3191
3192         Use a weakPtr to abort callOnMainThread() if the object has been destroyed:
3193         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3194         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
3195         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3196         (WebCore::CMTimebaseEffectiveRateChangedCallback):
3197         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
3198         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
3199         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
3200
3201 2014-02-28  Jer Noble  <jer.noble@apple.com>
3202
3203         [MSE] YouTube videos fail to play
3204         https://bugs.webkit.org/show_bug.cgi?id=129525
3205
3206         Reviewed by Darin Adler.
3207
3208         Test: media/media-source/media-source-fudge-factor.html
3209
3210         Add a very simple playability metric to SourceBuffer. Track the number of seconds buffered
3211         and use that metric to determine whether the MediaSource has buffered enough data to play
3212         through.
3213
3214         * Modules/mediasource/MediaSource.cpp:
3215         (WebCore::MediaSource::currentTime): Added simple accessor.
3216         (WebCore::MediaSource::monitorSourceBuffers): Replace the functor-based iterators with lambdas.
3217         (WebCore::MediaSource::addSourceBuffer): Drive-by fix; only add new source buffers to the
3218             activeSourceBuffers list if those buffers are actually active.
3219         * Modules/mediasource/MediaSource.h:
3220         * Modules/mediasource/SourceBuffer.cpp:
3221         (WebCore::SourceBuffer::SourceBuffer): Initialize new ivars.
3222         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Measure the number of seconds buffered.
3223         (WebCore::SourceBuffer::monitorBufferingRate): Use a simple Exponential moving average to
3224             track the buffering rate.
3225         (WebCore::SourceBuffer::hasCurrentTime): Return true if the current time is within 1/24 s
3226             of a buffered range.
3227         (WebCore::SourceBuffer::hasFutureTime): Moved from MediaSource.
3228         (WebCore::SourceBuffer::canPlayThrough): Return true if the buffering rate is > 1s per
3229             second, or if the rate is sufficient to keep up over the remaining time.
3230         * Modules/mediasource/SourceBuffer.h:
3231
3232 2014-03-03  Bear Travis  <betravis@adobe.com>
3233
3234         [CSS Shapes] Serialize circle positions
3235         https://bugs.webkit.org/show_bug.cgi?id=129404
3236
3237         Reviewed by Dirk Schulze.
3238
3239         Circle positions should always be present when serialized, and should
3240         only have the 2 or 4-valued form. Keywords are converted to percentages
3241         and simplified where possible. This patch adds some additional processing
3242         that converts the parsed position into the serialized format, before
3243         converting it to text. See http://dev.w3.org/csswg/css-shapes/#basic-shape-serialization.
3244
3245         Updated existing parsing tests.
3246
3247         * css/CSSBasicShapes.cpp:
3248         (WebCore::serializePositionOffset): Convert a position offset to a serialized string.
3249         The offset must be a pair, as generated by buildSerializablePositionOffset.
3250         (WebCore::buildSerializablePositionOffset): Generates a keyword + offset pair for each
3251         position offset. The keywords may later be dropped during serialization.
3252         (WebCore::CSSBasicShapeCircle::cssText): Use the new serialization methods.
3253
3254 2014-03-03  Lorenzo Tilve  <ltilve@igalia.com>
3255
3256         Optimize StylePropertiesSet::findPropertyIndex() to improve CSS properties performance
3257         https://bugs.webkit.org/show_bug.cgi?id=129605
3258
3259         Reviewed by Andreas Kling.
3260
3261         Merged from Blink (patch by Mikhail Pozdnyakov):
3262         https://src.chromium.org/viewvc/blink?view=revision&revision=167325
3263
3264         Avoid checking whether 'StylePropertiesSet' is mutable and accesing directly to its
3265         data members to achieve performance improvements
3266
3267         Before the optimization applied:
3268             mean: 3064.8337171934063 runs/s
3269             median: 3097.5899379343855 runs/s
3270             stdev: 66.89274074044187 runs/s
3271             min: 2891.7479324362585 runs/s
3272             max: 3113.288683440125 runs/s
3273
3274         After the optimization applied:
3275             mean: 3343.8356114138105 runs/s
3276             median: 3356.25682957446 runs/s
3277             stdev: 36.297533087489036 runs/s
3278             min: 3238.5468032264243 runs/s
3279             max: 3368.664837531425 runs/s
3280
3281         Performance gain for the average value is approx. 9.1%, in the
3282         range of the 10% - 8.2% for the min and max measured
3283         values (Linux desktop x64).
3284
3285         * css/StyleProperties.cpp:
3286         (WebCore::ImmutableStyleProperties::findPropertyIndex):
3287         (WebCore::MutableStyleProperties::findPropertyIndex):
3288         * css/StyleProperties.h:
3289         (WebCore::toMutableStyleProperties):
3290         (WebCore::toImmutableStyleProperties):
3291         (WebCore::StyleProperties::findPropertyIndex):
3292
3293 2014-03-03  Brian Burg  <bburg@apple.com>
3294
3295         Unreviewed build fix for Windows after r164986.
3296
3297         * WebCore.vcxproj/build-generated-files.sh: Export WebReplayScripts
3298         so that the build system knows how to find CodeGeneratorReplayInputs.py.
3299
3300 2014-03-03  Andrei Bucur  <abucur@adobe.com>
3301
3302         [CSS Regions] Overset computation is incorrect in some cases
3303         https://bugs.webkit.org/show_bug.cgi?id=129032
3304
3305         Reviewed by Mihnea Ovidenie.
3306
3307         This patch reworks the way overset is computed for regions and named flows.
3308
3309         1. Regions overflow no longer trigger an overset changed event. This is because
3310         the overflow of a box is contained within the region range of the box. The content
3311         edge should be considered the logical bottom position of the content inside the
3312         flow thread.
3313
3314         2. The regions events logic was moved from RenderFlowThread to RenderNamedFlowThread
3315         and from RenderRegion to RenderNamedFlowFragment (including the regionOverset property).
3316
3317         3. The overset value of the named flow is no longer stored in the named flow. It is
3318         extracted from the overset of the last region in the chain.
3319
3320         4. The regions overset is not computed every time the flow thread is laid out which
3321         should improve performance for flows with many regions. With the patch, each region
3322         computes the overset value during its layout when the flow thread is in the overflow
3323         or the final layout phase.
3324
3325         5. The overset changed event is dispatched only at the end of the layout of the named flows,
3326         after all the region overset changes have been considered. This means that the overset
3327         event can't be dispatched in the middle of the auto-height processing algorithm that
3328         requires multiple layout passes for the flow threads.
3329
3330         However, the region layout update event dispatch timing was not changed, it is dispatched
3331         every time the flow thread has a layout. This preserves the current behavior of the event.
3332
3333         Tests: The old tests were modified to take into account the change.
3334
3335         * dom/Element.cpp:
3336         (WebCore::Element::webkitRegionOverset):
3337         * dom/WebKitNamedFlow.cpp:
3338         (WebCore::WebKitNamedFlow::overset):
3339         * inspector/InspectorCSSAgent.cpp:
3340         (WebCore::InspectorCSSAgent::buildArrayForRegions):
3341         * rendering/FlowThreadController.cpp:
3342         (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
3343         * rendering/RenderBlock.cpp:
3344         (WebCore::RenderBlock::computeOverflow):
3345         * rendering/RenderFlowThread.cpp:
3346         (WebCore::RenderFlowThread::RenderFlowThread):
3347         (WebCore::RenderFlowThread::layout):
3348         * rendering/RenderFlowThread.h:
3349         * rendering/RenderNamedFlowFragment.cpp:
3350         (WebCore::RenderNamedFlowFragment::layoutBlock):
3351         (WebCore::RenderNamedFlowFragment::setRegionOversetState):
3352         (WebCore::RenderNamedFlowFragment::regionOversetState):
3353         (WebCore::RenderNamedFlowFragment::updateOversetState):
3354         * rendering/RenderNamedFlowFragment.h:
3355         * rendering/RenderNamedFlowThread.cpp:
3356         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3357         (WebCore::RenderNamedFlowThread::computeOverflow):
3358         (WebCore::RenderNamedFlowThread::layout):
3359         (WebCore::RenderNamedFlowThread::dispatchNamedFlowEvents):
3360         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded):
3361         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):
3362         * rendering/RenderNamedFlowThread.h:
3363         There's a new field called m_flowContentBottom that tracks the content bottom of the flow thread
3364         after layout. This value is used to compute the overset value of the regions because it's not
3365         affected by relative positioning or visual overflow such as shadows.
3366         * rendering/RenderRegion.cpp:
3367         * rendering/RenderRegion.h:
3368
3369 2014-03-03  Tomas Popela  <tpopela@redhat.com>
3370
3371         [GTK] CodeGeneratorGObject.pm remove usage of undefined variable
3372         https://bugs.webkit.org/show_bug.cgi?id=129602
3373
3374         Reviewed by Martin Robinson.
3375
3376         Remove usage of undefined variable hdrPropIncludes in CodeGeneratorGObject.pm
3377
3378         * bindings/scripts/CodeGeneratorGObject.pm:
3379         (WriteData):
3380
3381 2014-03-03  Brian Burg  <bburg@apple.com>
3382
3383         Web Replay: upstream input storage, capture/replay machinery, and inspector domain
3384         https://bugs.webkit.org/show_bug.cgi?id=128782
3385
3386         Reviewed by Timothy Hatcher, Joseph Pecoraro, and Andreas Kling.
3387
3388         No new tests yet, as they rely on infrastructure tracked in https://webkit.org/b/129190.
3389
3390         Replayable executions are organized into ReplaySessions, which can
3391         contain several ReplaySessionSegments that divide overall execution
3392         at main frame navigation boundaries. NondeterministicInput subclasses
3393         are stored in SegmentedInputStorage according to the input's InputQueue.
3394
3395         Capture and playback are controlled at the page granularity by the Page's
3396         ReplayController. The controller knows how to create new segments, replay to
3397         arbitrary positions in the ReplaySession, and track the active InputCursor.
3398
3399         The capturing and replaying input cursor subclasses encapsulate state for
3400         storing new inputs and loading/dispatching saved inputs, respectively.
3401
3402         The ReplayAgent and associated inspector protocol domain is the friendly
3403         public API for programmatically capturing and replaying sessions.
3404
3405         * DerivedSources.make: Add replay inputs code generation target. Add the
3406         replay domain specification to the list of inspector domains.
3407
3408         * ForwardingHeaders/replay/EncodedValue.h: Added.
3409         * WebCore.xcodeproj/project.pbxproj: Add many files, and export
3410         `WebReplayScripts` environment variable to DerivedSources.make.
3411
3412         * inspector/InspectorController.cpp: Add the replay agent.
3413         (WebCore::InspectorController::InspectorController):
3414
3415         * inspector/InspectorInstrumentation.cpp:
3416         Add events for segment lifecycle events, and loading/unloading of sessions
3417         and segments, and capture/replay progress events. The replay controller
3418         also needs to know about detached and committed frames.
3419
3420         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
3421         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3422         (WebCore::InspectorInstrumentation::sessionCreatedImpl):
3423         (WebCore::InspectorInstrumentation::sessionLoadedImpl):
3424         (WebCore::InspectorInstrumentation::sessionModifiedImpl):
3425         (WebCore::InspectorInstrumentation::segmentCreatedImpl):
3426         (WebCore::InspectorInstrumentation::segmentCompletedImpl):
3427         (WebCore::InspectorInstrumentation::segmentLoadedImpl):
3428         (WebCore::InspectorInstrumentation::segmentUnloadedImpl):
3429         (WebCore::InspectorInstrumentation::captureStartedImpl):
3430         (WebCore::InspectorInstrumentation::captureStoppedImpl):
3431         (WebCore::InspectorInstrumentation::playbackStartedImpl):
3432         (WebCore::InspectorInstrumentation::playbackPausedImpl):
3433         (WebCore::InspectorInstrumentation::playbackHitPositionImpl):
3434         (WebCore::InspectorInstrumentation::replayAgentEnabled):
3435         * inspector/InspectorInstrumentation.h:
3436         (WebCore::InspectorInstrumentation::replayAgentEnabled):
3437         (WebCore::InspectorInstrumentation::sessionCreated):
3438         (WebCore::InspectorInstrumentation::sessionLoaded):
3439         (WebCore::InspectorInstrumentation::sessionModified):
3440         (WebCore::InspectorInstrumentation::segmentCreated):
3441         (WebCore::InspectorInstrumentation::segmentCompleted):
3442         (WebCore::InspectorInstrumentation::segmentLoaded):
3443         (WebCore::InspectorInstrumentation::segmentUnloaded):
3444         (WebCore::InspectorInstrumentation::captureStarted):
3445         (WebCore::InspectorInstrumentation::captureStopped):
3446         (WebCore::InspectorInstrumentation::playbackStarted):
3447         (WebCore::InspectorInstrumentation::playbackPaused):
3448         (WebCore::InspectorInstrumentation::playbackHitPosition):
3449
3450         * inspector/InspectorReplayAgent.cpp: Added.
3451         (WebCore::buildInspectorObjectForPosition):
3452         (WebCore::buildInspectorObjectForInput):
3453         (WebCore::buildInspectorObjectForSession):
3454         (WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):