88cdfd7dd1893f647e3bd3385c397181a57b7fba
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         Set m_nextBreakablePosition as private in InlineIterator, and use it.
4         https://bugs.webkit.org/show_bug.cgi?id=125482
5
6         Reviewed by Andreas Kling.
7
8         InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
9         This patch set it as private, and add getter/setter functions for it.
10
11         No new tests, no behavior changes.
12
13         * rendering/InlineIterator.h:
14         (WebCore::InlineIterator::InlineIterator):
15         (WebCore::InlineIterator::nextBreakablePosition):
16         (WebCore::InlineIterator::setNextBreakablePosition):
17         * rendering/line/BreakingContextInlineHeaders.h:
18         (WebCore::BreakingContext::handleText):
19
20 2013-12-10  Gurpreet Kaur  <k.gurpreet@samsung.com>
21
22         top and bottom black background line not getting displayed
23         https://bugs.webkit.org/show_bug.cgi?id=21664
24
25         Reviewed by Simon Fraser.
26
27         The table cell's background was not being displayed. Since the table
28         cell had no child correct offsetWidth was not being set even if table
29         width is being defined.
30
31         Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
32
33         * rendering/AutoTableLayout.cpp:
34         (WebCore::AutoTableLayout::recalcColumn):
35         cellHasContent should also be set to true incase background color is
36         present.
37
38 2013-12-10  Beth Dakin  <bdakin@apple.com>
39
40         Horizontal rubber-banding without a horizontal scrollbar is distracting
41         https://bugs.webkit.org/show_bug.cgi?id=125550
42
43         Reviewed by Simon Fraser.
44
45         Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only 
46         rubber-band horizontally when there is a horizontal scrollbar.
47
48         * page/FrameView.cpp:
49         (WebCore::FrameView::FrameView):
50
51 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
52
53         Correct a preprocessor guard from a mis-merged patch
54
55         In r160367, I mismerged a patch from Gustavo Noronha. This commit
56         fixes the merge and thus fixes the CMake build.
57
58         * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
59
60 2013-12-10  Rob Buis  <rob.buis@samsung.com>
61
62         Clean up SVGScriptElement
63         https://bugs.webkit.org/show_bug.cgi?id=125527
64
65         Reviewed by Sam Weinig.
66
67         Rewrite to not store type in m_type and also remove type getter/setter.
68
69         * svg/SVGScriptElement.cpp:
70         (WebCore::SVGScriptElement::parseAttribute):
71         (WebCore::SVGScriptElement::typeAttributeValue):
72         * svg/SVGScriptElement.h:
73         * svg/SVGScriptElement.idl:
74
75 2013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
76
77         Use std::array when computing MD5 checksum
78         https://bugs.webkit.org/show_bug.cgi?id=125509
79
80         Reviewed by Anders Carlsson.
81
82         Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
83
84         * platform/network/curl/CurlCacheEntry.cpp:
85         (WebCore::CurlCacheEntry::generateBaseFilename):
86
87 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
88
89         [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
90         https://bugs.webkit.org/show_bug.cgi?id=125522
91
92         Reviewed by Chris Fleizach.
93
94         Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
95
96         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
97         (atkRole):
98
99 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
100
101         [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
102         https://bugs.webkit.org/show_bug.cgi?id=125521
103
104         Reviewed by Chris Fleizach.
105
106         Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
107         ATK_ROLE_ALERT instead.
108
109         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
110         (atkRole):
111
112 2013-12-10  Brendan Long  <b.long@cablelabs.com>
113
114         [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
115         https://bugs.webkit.org/show_bug.cgi?id=125411
116
117         Reviewed by Philippe Normand.
118
119         No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
120
121         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
122         (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
123         (webkitTextCombinerPadEvent): Add locking.
124         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
125         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
126         (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
127         (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
128         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
129         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
130
131 2013-12-10  László Langó  <lango@inf.u-szeged.hu>
132
133         PageConsole::addMessage should automatically determine column number alongside line number
134         https://bugs.webkit.org/show_bug.cgi?id=114319
135
136         Reviewed by Joseph Pecoraro.
137
138         * dom/InlineStyleSheetOwner.cpp:
139         (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
140         * dom/ScriptElement.cpp:
141         (WebCore::ScriptElement::ScriptElement):
142         * dom/ScriptableDocumentParser.h:
143         * dom/StyledElement.cpp:
144         (WebCore::StyledElement::styleAttributeChanged):
145         * html/parser/HTMLDocumentParser.cpp:
146         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
147         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
148         * html/parser/HTMLDocumentParser.h:
149         * inspector/InspectorResourceAgent.cpp:
150         (WebCore::InspectorResourceAgent::buildInitiatorObject):
151         * page/Console.cpp:
152         (WebCore::internalAddMessage):
153         * page/PageConsole.cpp:
154         (WebCore::PageConsole::printSourceURLAndPosition):
155         (WebCore::PageConsole::addMessage):
156         * page/PageConsole.h:
157         * xml/parser/XMLDocumentParser.h:
158         * xml/parser/XMLDocumentParserLibxml2.cpp:
159         (WebCore::XMLDocumentParser::error):
160
161 2013-12-10  Andreas Kling  <akling@apple.com>
162
163         Jettison all StyleResolver data on memory pressure.
164         <https://webkit.org/b/125498>
165
166         The StyleResolver can be rebuilt relatively quickly; we already
167         have an optimization that discards it some time after last use.
168
169         If we find ourseles under serious memory pressure, don't wait for
170         the timer to kick in, throw everything overboard right away.
171
172         ~5MB progression post-pressure on Membuster3.
173
174         Reviewed by Anders Carlsson.
175
176 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
177
178         [GTK] [CMake] Add support for building the DOM bindings
179         https://bugs.webkit.org/show_bug.cgi?id=116375
180
181         Reviewed by Gustavo Noronha Silva.
182
183         The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
184         some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
185         protect these attributes from DOM binding generation.
186
187         * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
188         * Modules/battery/NavigatorBattery.idl: Ditto.
189         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
190         * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
191         * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
192         * PlatformGTK.cmake: Add build steps for building the bindings.
193         * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
194         * html/HTMLMediaElement.idl: Ditto.
195
196 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
197
198         Various fixes for the CMake GTK+ build
199
200         Reviewed by Gustavo Noronha.
201
202         * PlatformGTK.cmake: Update source list.
203
204 2013-12-10  Robert Sipka  <sipka@inf.u-szeged.hu>
205
206         [nix][curl] Buildfix after r160310
207         https://bugs.webkit.org/show_bug.cgi?id=125489
208
209         Reviewed by Gustavo Noronha Silva.
210
211         Curl doesn't include soup files.
212
213         * PlatformNix.cmake:
214
215 2013-12-10  Gustavo Noronha Silva  <gns@gnome.org>
216
217         [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
218         https://bugs.webkit.org/show_bug.cgi?id=125444
219
220         Reviewed by Martin Robinson.
221
222         * platform/gtk/UserAgentGtk.cpp:
223         (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
224         (WebCore::standardUserAgent): ditto.
225
226 2013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
227
228         [Soup] Send original encoded data size to didReceiveBuffer
229         https://bugs.webkit.org/show_bug.cgi?id=125410
230
231         Reviewed by Martin Robinson.
232
233         No tests, the only way to test this seems to be through the inspector UI.
234
235         * platform/network/ResourceHandle.h:
236         * platform/network/ResourceHandleInternal.h:
237         (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
238         position.
239         * platform/network/soup/ResourceHandleSoup.cpp:
240         (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
241         the first seekable input stream we find.
242         (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
243         (WebCore::sendRequestCallback): store the position before we start reading the response body.
244         (WebCore::readCallback): pass the position delta to didReceiveData.
245
246 2013-12-09  Andreas Kling  <akling@apple.com>
247
248         Clear out font width measurement caches on memory pressure.
249         <https://webkit.org/b/125481>
250
251         The data kept in WidthCaches can be regenerated on demand. Throwing
252         it away when we're under memory pressure buys us ~4MB on Membuster3.
253
254         Reviewed by Antti Koivisto.
255
256 2013-12-09  Seokju Kwon  <seokju@webkit.org>
257
258         Web Inspector: Remove enabled() in InspectorRuntimeAgent.
259         https://bugs.webkit.org/show_bug.cgi?id=125476
260
261         Reviewed by Joseph Pecoraro.
262
263         Dead code. It's never called anywhere.
264
265         No new tests, no behavior change.
266
267         * inspector/InspectorRuntimeAgent.h:
268
269 2013-12-09  Sam Weinig  <sam@webkit.org>
270
271         Replace use of WTF::FixedArray with std::array
272         https://bugs.webkit.org/show_bug.cgi?id=125475
273
274         Reviewed by Anders Carlsson.
275
276         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
277         * platform/graphics/GlyphMetricsMap.h:
278
279 2013-12-09  Benjamin Poulain  <bpoulain@apple.com>
280
281         Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
282         https://bugs.webkit.org/show_bug.cgi?id=125379
283
284         Reviewed by Alexey Proskuryakov.
285
286         * WebCore.vcxproj/WebCore.vcxproj:
287         * WebCore.vcxproj/WebCore.vcxproj.filters:
288         * WebCore.xcodeproj/project.pbxproj:
289         * platform/network/ResourceHandle.h:
290         * platform/network/ResourceHandleInternal.h:
291         * platform/network/cf/ResourceHandleCFNet.cpp:
292         (WebCore::ResourceHandle::createCFURLConnection):
293         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
294         (WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
295         (WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
296         (WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
297         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
298         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
299         (WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
300         (WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
301         (WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
302         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
303         (WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
304         (WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
305         (WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
306         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
307         (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
308         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
309         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
310         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
311         (WebCore::synthesizeRedirectResponseIfNecessary):
312         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
313         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
314         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
315         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
316         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
317         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
318         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
319         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
320         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
321         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
322         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
323         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
324
325 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
326
327         REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
328         https://bugs.webkit.org/show_bug.cgi?id=125392
329
330         Reviewed by Darin Adler.
331
332         Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
333
334         Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
335         http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
336         "If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."
337
338         New behavior also matches that of Internet Explorer and Firefox.
339
340         Tests: fast/forms/input-image-submit.html
341
342         * html/ImageInputType.cpp:
343         (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
344
345 2013-12-09  Jer Noble  <jer.noble@apple.com>
346
347         [MSE] Add support for VideoPlaybackMetrics.
348         https://bugs.webkit.org/show_bug.cgi?id=125380
349
350         Reviewed by Eric Carlson.
351
352         Test: media/media-source/media-source-video-playback-quality.html
353
354         Add a new object type VideoPlaybackQuality to be returned by
355         HTMLMediaElement.getVideoPlaybackQuality().
356
357         HTMLMediaElements must separately track a droppedVideoFrame count, as
358         certain operations on SourceBuffer will drop incoming frames, which must
359         be accounted for. Reset this count when the media engine changes, which is
360         indicitive of a new media load requset starting.
361
362         Add the new VideoPlaybackQuality class:
363         * Modules/mediasource/VideoPlaybackQuality.cpp: Added.
364         (WebCore::VideoPlaybackQuality::create):
365         (WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
366         * Modules/mediasource/VideoPlaybackQuality.h: Added.
367         (WebCore::VideoPlaybackQuality::creationTime):
368         (WebCore::VideoPlaybackQuality::totalVideoFrames):
369         (WebCore::VideoPlaybackQuality::droppedVideoFrames):
370         (WebCore::VideoPlaybackQuality::corruptedVideoFrames):
371         (WebCore::VideoPlaybackQuality::totalFrameDelay):
372         * Modules/mediasource/VideoPlaybackQuality.idl: Added.
373
374         Add support for the new class to HTMLMediaElement:
375         * html/HTMLMediaElement.cpp:
376         (HTMLMediaElement::shouldUseVideoPluginProxy):
377         (HTMLMediaElement::getVideoPlaybackQuality):
378         * html/HTMLMediaElement.h:
379         * html/HTMLMediaElement.idl:
380
381         Report the video quality metrics from the MediaPlayer:
382         * platform/graphics/MediaPlayer.cpp:
383         (WebCore::MediaPlayer::totalVideoFrames):
384         (WebCore::MediaPlayer::droppedVideoFrames):
385         (WebCore::MediaPlayer::corruptedVideoFrames):
386         (WebCore::MediaPlayer::totalFrameDelay):
387         * platform/graphics/MediaPlayer.h:
388         * platform/graphics/MediaPlayerPrivate.h:
389         (WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
390         (WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
391         (WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
392         (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
393
394         Correctly report the dropped frame count:
395         * Modules/mediasource/SourceBuffer.cpp:
396         (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
397         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
398         (WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
399         * Modules/mediasource/SourceBuffer.h:
400         * html/HTMLMediaElement.cpp:
401         (WebCore::HTMLMediaElement::HTMLMediaElement):
402         (HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
403         (HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
404         * html/HTMLMediaElement.h:
405         (WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
406         * platform/MediaSample.h:
407         (WebCore::MediaSample::isSync): Convenience function.
408         (WebCore::MediaSample::isNonDisplaying): Ditto.
409
410         Add support in the AVFoundation MediaSource Engine:
411         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
412         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
413         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
414         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
415         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
416         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
417
418         Add support in the Mock MediaSource Engine:
419         * platform/mock/mediasource/MockBox.h:
420         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
421         (WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
422         (WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
423         (WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
424         (WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
425         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
426         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
427         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
428         * platform/mock/mediasource/MockMediaSourcePrivate.h:
429         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
430         (WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
431             the incoming sample.
432         * platform/mock/mediasource/MockSourceBufferPrivate.h:
433
434         Add the new files to the project:
435         * bindings/gobject/GNUmakefile.am:
436         * DerivedSources.make:
437         * WebCore.xcodeproj/project.pbxproj:
438         * GNUMakefile.list.am:
439         * CMakeLists.txt:
440
441 2013-12-09  Simon Fraser  <simon.fraser@apple.com>
442
443         Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
444         https://bugs.webkit.org/show_bug.cgi?id=125469
445         <rdar://problem/15535772>
446
447         Reviewed by Beth Dakin.
448         
449         In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
450         end up as NaN if scrollbar->totalSize() were zero. Protect against that.
451         
452         Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
453         END_BLOCK_OBJC_EXCEPTIONS.
454
455         * platform/mac/ScrollbarThemeMac.mm:
456         (WebCore::ScrollbarThemeMac::scrollbarThickness):
457         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
458         (WebCore::ScrollbarThemeMac::minimumThumbLength):
459         (WebCore::ScrollbarThemeMac::updateEnabledState):
460         (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
461         (WebCore::scrollbarPainterPaint):
462
463 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
464
465         Implement Document.cloneNode()
466         https://bugs.webkit.org/show_bug.cgi?id=11646
467
468         Reviewed by Darin Adler.
469
470         Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
471
472         Implement the behavior specified in the current DOM4 working draft:
473         http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
474
475         Tests: fast/dom/Document/clone-node.html
476                fast/dom/HTMLDocument/clone-node-quirks-mode.html
477                svg/custom/clone-node.html
478
479         * dom/Document.cpp:
480         (WebCore::Document::cloneNode):
481         (WebCore::Document::cloneDocumentWithoutChildren):
482         (WebCore::Document::cloneDataFromDocument):
483         * dom/Document.h:
484         * html/HTMLDocument.cpp:
485         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
486         * html/HTMLDocument.h:
487         * svg/SVGDocument.cpp:
488         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
489         * svg/SVGDocument.h:
490
491 2013-12-09  Andreas Kling  <akling@apple.com>
492
493         REGRESSION(r160260): Memory pressure signal causes web process to hang.
494         <https://webkit.org/b/125465>
495
496         Reviewed by Tim Horton.
497
498         This command caused all of my web processes to hang:
499
500             notifyutil -p org.WebKit.lowMemory
501
502         This only happens when the cache pruning code encounters a resource
503         using purgeable memory.
504
505         * loader/cache/MemoryCache.cpp:
506         (WebCore::MemoryCache::pruneLiveResourcesToSize):
507
508             Grab the next CachedResource pointer before continuing the loop.
509
510 2013-12-09  peavo@outlook.com  <peavo@outlook.com>
511
512         [WinCairo] OpenGL compile error.
513         https://bugs.webkit.org/show_bug.cgi?id=125383
514
515         Reviewed by Darin Adler.
516
517         * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
518
519 2013-12-09  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
520
521         Fix handling of 'inherit' and 'initial' for grid lines.
522         https://bugs.webkit.org/show_bug.cgi?id=125223
523
524         Reviewed by Darin Adler.
525
526         'initial' and 'inherit' are always allowed values for CSS properties.
527         As the CSSParser handles them automatically, those 2 values were never
528         taken care of in StyleResolver, leading to crashes.
529
530         Added tests cases for 'inherit' and 'initial' to the following tests:
531
532         fast/css-grid-layout/grid-item-column-row-get-set.html
533         fast/css-grid-layout/grid-item-end-after-get-set.html
534         fast/css-grid-layout/grid-item-start-before-get-set.html
535
536         Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
537
538         * css/StyleResolver.cpp:
539         (WebCore::StyleResolver::applyProperty):
540         * rendering/style/RenderStyle.h:
541         * rendering/style/StyleGridItemData.cpp:
542         (WebCore::StyleGridItemData::StyleGridItemData):
543
544 2013-12-09  Joseph Pecoraro  <pecoraro@apple.com>
545
546         Web Inspector: Inspector.json and CodeGenerator tweaks
547         https://bugs.webkit.org/show_bug.cgi?id=125321
548
549         Reviewed by Timothy Hatcher.
550
551         * inspector/protocol/Runtime.json:
552         Runtime.js was depending on Network.FrameId. This is a layering
553         violation, so ideally we can fix this later. For now, just copy
554         the FrameId type into Runtime. They are strings so all is good.
555
556         * inspector/CodeGeneratorInspector.py:
557         (Generator.EventMethodStructTemplate.append_epilog):
558         * inspector/CodeGeneratorInspectorStrings.py:
559         Improve --help usage information.
560         Make the script work with a single domain json file.
561         Add ASCIILiteral's where appropriate.
562
563 2013-12-09  Nick Diego Yamane  <nick.yamane@openbossa.org>
564
565         [Nix] Fix file name typo in PlatformNix.cmake
566         https://bugs.webkit.org/show_bug.cgi?id=125457
567
568         Reviewed by Gustavo Noronha Silva.
569
570         Wrong file name introduced in http://trac.webkit.org/changeset/160310.
571         * PlatformNix.cmake:
572
573 2013-12-09  Brendan Long  <b.long@cablelabs.com>
574
575         [GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
576         https://bugs.webkit.org/show_bug.cgi?id=125452
577
578         Reviewed by Philippe Normand.
579
580         No new tests because this fixes a memory leak.
581
582         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
583         (webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.
584
585 2013-12-09  Chris Fleizach  <cfleizach@apple.com>
586
587         AX: WebKit ignores @alt on IMG elements with role="text"
588         https://bugs.webkit.org/show_bug.cgi?id=125363
589
590         Reviewed by Mario Sanchez Prada.
591
592         If an <img> element has a different role, the alt attribute should still be used in the 
593         name calculation if present.
594
595         Test: accessibility/alt-tag-on-image-with-nonimage-role.html
596
597         * accessibility/AccessibilityNodeObject.cpp:
598         (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
599         (WebCore::AccessibilityNodeObject::alternativeText):
600         (WebCore::AccessibilityNodeObject::accessibilityDescription):
601         (WebCore::AccessibilityNodeObject::text):
602         * accessibility/AccessibilityNodeObject.h:
603
604 2013-12-08  Martin Robinson  <mrobinson@igalia.com>
605
606         [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
607         https://bugs.webkit.org/show_bug.cgi?id=118598
608
609         Reviewed by Gustavo Noronha Silva.
610
611         Original patch by Kwang Yul Seo  <skyul@company100.net> and Csaba Osztrogonác  <ossy@webkit.org>.
612
613         Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
614         let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
615         only supports getting data via SharedBuffer.
616
617         * GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
618         * PlatformEfl.cmake:
619         * PlatformGTK.cmake:
620         * PlatformNix.cmake:
621         * platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
622         * platform/SharedBuffer.h: Ditto.
623         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:  Use didReceiveBuffer instead of didReceiveData.
624         * platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
625         * platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
626         * platform/network/soup/GOwnPtrSoup.h: Ditto.
627         * platform/network/soup/ResourceHandleSoup.cpp:
628         (WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
629         called now.
630         (WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
631         (WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
632         (WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
633         (WebCore::cleanupSoupRequestOperation): Ditto.
634         (WebCore::nextMultipartResponsePartCallback): Ditto.
635         (WebCore::sendRequestCallback): Ditto.
636         (WebCore::readCallback):
637         * platform/soup/SharedBufferSoup.cpp: Added.
638
639 2013-12-09  Michal Poteralski  <m.poteralski@samsung.com>
640
641         DataCloneError exception is not thrown when postMessage's second parameter is the source
642         port or the target port.
643
644         https://bugs.webkit.org/show_bug.cgi?id=124708
645
646         Reviewed by Alexey Proskuryakov.
647
648         According to specification:
649         http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
650
651         If the method was invoked with a second argument transfer then if any of the objects in the
652         transfer are either the source port or the target port (if any), then a DataCloneError
653         exception should be thrown. Currently an InvalidStateError exception is thrown what is an
654         incorrect behaviour.
655
656         The proposed solution is change to the correct the exception value.
657
658         Tests: fast/dom/Window/postMessage-clone-port-error.html
659
660         * dom/MessagePort.cpp:
661         (WebCore::MessagePort::postMessage): Improve exception value
662
663 2013-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
664
665         Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
666
667         * GNUmakefile.list.am: Add missing file to compilation.
668
669 2013-12-08  Ryosuke Niwa  <rniwa@webkit.org>
670
671         getComputedStyle border-radius shorthand omits vertical radius information
672         https://bugs.webkit.org/show_bug.cgi?id=125394
673
674         Reviewed by Andreas Kling.
675
676         Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
677
678         getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
679         We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
680         This patch ensures we only hide the vertical values if they are identical to the horizontal values.
681
682         * css/CSSComputedStyleDeclaration.cpp:
683         (WebCore::getBorderRadiusShorthandValue):
684
685 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
686
687         [GTK] Do not skip attributes with only custom setter
688         https://bugs.webkit.org/show_bug.cgi?id=125417
689
690         Reviewed by Gustavo Noronha Silva.
691
692         For attributes with a custom setter, we now generate the code as a
693         read-only attribute with a getter method, unless it also has a
694         custom getter in which case the attribute is skipped.
695
696         * bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController
697         that is now required by an attribute having a custom setter.
698         * bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
699         * bindings/gobject/WebKitDOMCustom.h: Ditto.
700         * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
701         * bindings/gobject/webkitdom.symbols: Add new symbols.
702         * bindings/scripts/CodeGeneratorGObject.pm:
703         (SkipAttribute): Do not skip attributes having a custom setter.
704         (GetWriteableProperties): Do not include attributes having a
705         custom setter.
706         (GenerateProperty): Do not return early for attributes having
707         custom setter.
708         (GenerateFunctions): Do not generate setter for attributes having
709         a custom setter.
710
711 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
712
713         [GTK] Do not generate new dispatch_event methods marked as deprecated
714         https://bugs.webkit.org/show_bug.cgi?id=125416
715
716         Reviewed by Gustavo Noronha Silva.
717
718         * bindings/scripts/CodeGeneratorGObject.pm:
719         (SkipFunction): Skip dispatch_event methods for objects
720         implementing EventTarget interface unless they are already
721         deprecated.
722         (GenerateFunction): Pass also the parentNode to SkipFunction().
723
724 2013-12-05  Jer Noble  <jer.noble@apple.com>
725
726         [MSE] Bring end-of-stream algorithm section up to current spec.
727         https://bugs.webkit.org/show_bug.cgi?id=125270
728
729         Reviewed by Darin Adler.
730
731         Test: media/media-source/media-source-end-of-stream.html
732
733         Separate the "endOfStream()" method from the "end of stream algorithm".
734
735         * Modules/mediasource/MediaSource.cpp:
736         (WebCore::SourceBufferIsUpdating): Added predicate function.
737         (WebCore::MediaSource::endOfStream): Call streamEndedWithError().
738         (WebCore::MediaSource::streamEndedWithError): Added.
739         * Modules/mediasource/MediaSource.h:
740         * Modules/mediasource/SourceBuffer.cpp:
741         (WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
742         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
743         * Modules/mediasource/SourceBuffer.h:
744         * html/HTMLMediaElement.cpp:
745         (HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
746         (HTMLMediaElement::mediaLoadingFailed): Call renamed method.
747         * html/HTMLMediaElement.h:
748         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
749         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.
750         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
751         (WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.
752         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
753         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
754         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
755         (WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.
756
757 2013-12-04  Jer Noble  <jer.noble@apple.com>
758
759         [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
760         https://bugs.webkit.org/show_bug.cgi?id=125269
761
762         Reviewed by Sam Weinig.
763
764         Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
765
766         It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
767         make sure to clear the pointer from the former to the latter when the latter is destroyed.
768         That means we now have to check to see if the pointer to the latter is still valid at every
769         call site.
770
771         As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
772         points to.
773
774         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
775         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.
776         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
777         (WebCore::SourceBufferPrivateAVFObjC::clearMediaSource): 
778         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
779         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
780         (WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
781         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
782         (WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
783         (WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
784         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
785         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
786         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
787         (WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.
788         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
789         (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.
790         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
791         (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
792         (WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
793         (WebCore::MockSourceBufferPrivate::readyState): Ditto.
794         (WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
795         (WebCore::MockSourceBufferPrivate::setActive): Ditto.
796         * platform/mock/mediasource/MockSourceBufferPrivate.h:
797         (WebCore::MockSourceBufferPrivate::clearMediaSource):
798
799 2013-12-07  Zoltan Horvath  <zoltan@webkit.org>
800
801         Remove statusWithDirection static function from RenderBlockLineLayout
802         https://bugs.webkit.org/show_bug.cgi?id=125372
803
804         Reviewed by Andreas Kling.
805
806         I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
807         once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
808         statusWithDirection and updated the code to use the constructor of BidiStatus.
809
810         No new tests, no behavior change.
811
812         * rendering/RenderBlockLineLayout.cpp:
813         (WebCore::constructBidiRunsForSegment):
814
815 2013-12-07  ChangSeok Oh  <changseok.oh@collabora.com>
816
817         Unreviewed. Build fix for gtk port after r160260.
818
819         * loader/cache/CachedImage.h: Add missing a header.
820
821 2013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
822
823         ubuntu software center hits _XReadEvents() error
824         https://bugs.webkit.org/show_bug.cgi?id=123480
825
826         Reviewed by Martin Robinson.
827
828         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
829         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
830         before freeing the associated pixmap.
831
832 2013-12-06  Tim Horton  <timothy_horton@apple.com>
833
834         [mac] Keep around more decoded image data, since it's purgeable
835         https://bugs.webkit.org/show_bug.cgi?id=125273
836         <rdar://problem/13205438>
837
838         Unreviewed patch to fix review comments...
839
840         * platform/graphics/BitmapImage.h:
841         Dan noticed that these return statements were improperly indented.
842
843 2013-12-05  Jer Noble  <jer.noble@apple.com>
844
845         [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
846         https://bugs.webkit.org/show_bug.cgi?id=125338
847
848         Reviewed by Darin Adler.
849
850         The MediaSource API has some assumptions which break if more than one installed
851         media engine supports MediaSources at the same time. So when enabling the mock
852         media source engine in DRT or WKTR, disable AVFoundation so that only the mock
853         engine will support media source loading.
854
855         * testing/Internals.cpp:
856         (WebCore::Internals::initializeMockMediaSource):
857
858 2013-12-06  Antti Koivisto  <antti@apple.com>
859
860         Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
861
862         Reviewed by Anders Carlsson.
863
864         * rendering/RenderText.cpp:
865         (WebCore::originalTextMap):
866
867 2013-12-05  Jer Noble  <jer.noble@apple.com>
868
869         [MSE] Add a runtime-setting for the MediaSource constructor.
870         https://bugs.webkit.org/show_bug.cgi?id=125336
871
872         Reviewed by Eric Carlson.
873
874         Add a Setting to enable the MediaSource constructor.
875
876         * Modules/mediasource/MediaSource.idl:
877         * page/Settings.in:
878
879 2013-12-06  Tim Horton  <timothy_horton@apple.com>
880
881         [mac] Keep around more decoded image data, since it's purgeable
882         https://bugs.webkit.org/show_bug.cgi?id=125273
883         <rdar://problem/13205438>
884
885         Reviewed by Simon Fraser.
886
887         No new tests, just an optimization.
888
889         Instead of throwing away decoded image data eagerly, allow the operating
890         system to manage the memory via the standard purgeability mechanism,
891         where it can.
892
893         This improves the performance on some pathological cases (extremely large
894         animated GIFs) by up to 8x.
895
896         * loader/cache/MemoryCache.cpp:
897         (WebCore::MemoryCache::pruneLiveResourcesToSize):
898         Don't prune live resources' decoded data if it is purgeable.
899
900         * platform/graphics/BitmapImage.cpp:
901         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
902         Don't eagerly throw away decoded image data if it's purgeable.
903
904         * loader/cache/CachedImage.h:
905         * loader/cache/CachedResource.h:
906         (WebCore::CachedResource::decodedDataIsPurgeable):
907         * platform/graphics/BitmapImage.h:
908         * platform/graphics/Image.h:
909         (WebCore::Image::decodedDataIsPurgeable):
910
911 2013-12-06  Antti Koivisto  <antti@apple.com>
912
913         Save original text for RenderText to a map
914         https://bugs.webkit.org/show_bug.cgi?id=125278
915
916         Reviewed by Darin Adler.
917         
918         Currently the original text is fetched from the Text node. This is one of the few things 
919         where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
920         
921         It is very rare of original text to differ from the actual text so we can just squirrel the
922         original to a map when it differs. This is also simplifies the code.
923
924         * rendering/RenderQuote.cpp:
925         (WebCore::RenderQuote::styleDidChange):
926         (WebCore::RenderQuote::updateDepth):
927         * rendering/RenderText.cpp:
928         (WebCore::originalTextMap):
929         (WebCore::RenderText::RenderText):
930         (WebCore::RenderText::~RenderText):
931         (WebCore::RenderText::styleDidChange):
932         (WebCore::RenderText::originalText):
933         (WebCore::RenderText::setTextInternal):
934         (WebCore::RenderText::setText):
935         * rendering/RenderText.h:
936         * rendering/RenderTextFragment.cpp:
937         * rendering/RenderTextFragment.h:
938
939 2013-12-04  Jer Noble  <jer.noble@apple.com>
940
941         [MSE] Refactor MediaSourceBase back into MediaSource
942         https://bugs.webkit.org/show_bug.cgi?id=125245
943
944         Reviewed by Eric Carlson.
945
946         Now that the legacy WebKitMediaSource has been removed, there is no reason to have
947         a separate MediaSource and MediaSourceBase. Re-integrate the two.
948
949         Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
950         * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
951         (WebCore::MediaSource::create): Copied from MediaSource.cpp.
952         (WebCore::MediaSource::addSourceBuffer): Ditto.
953         (WebCore::MediaSource::removeSourceBuffer): Ditto.
954         (WebCore::MediaSource::isTypeSupported): Ditto.
955         (WebCore::MediaSource::eventTargetInterface): Ditto.
956         (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
957         * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
958         (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
959         (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
960         * Modules/mediasource/MediaSourceBase.cpp: Removed.
961         * Modules/mediasource/MediaSourceBase.h: Removed.
962
963         Change all references to MediaSourceBase into MediaSource:
964         * Modules/mediasource/DOMURLMediaSource.cpp:
965         (WebCore::DOMURLMediaSource::createObjectURL):
966         * Modules/mediasource/DOMURLMediaSource.h:
967         * Modules/mediasource/MediaSourceRegistry.cpp:
968         (WebCore::MediaSourceRegistry::registerURL):
969         (WebCore::MediaSourceRegistry::unregisterURL):
970         * Modules/mediasource/MediaSourceRegistry.h:
971
972         Remove MediaSourceBase.cpp/h from the project file:
973         * WebCore.xcodeproj/project.pbxproj:
974         * GNUmakefile.list.am:
975
976 2013-12-06  Eric Carlson  <eric.carlson@apple.com>
977
978         r159827 broke plug-in snapshotting
979         https://bugs.webkit.org/show_bug.cgi?id=125365
980
981         Reviewed by Dean Jackson.
982
983         No new tests, covered by existing tests.
984
985         * html/HTMLPlugInImageElement.cpp:
986         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
987             a page, not if there IS a page.
988
989 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
990
991         [Win] Support compiling with VS2013
992         https://bugs.webkit.org/show_bug.cgi?id=125353
993
994         Reviewed by Anders Carlsson.
995
996         * loader/archive/cf/LegacyWebArchive.cpp:
997         (WebCore::LegacyWebArchive::create): Use nullptr
998         (WebCore::LegacyWebArchive::createFromSelection): Ditto
999
1000 2013-11-15  Jer Noble  <jer.noble@apple.com>
1001
1002         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
1003         https://bugs.webkit.org/show_bug.cgi?id=123378
1004
1005         Reviewed by Eric Carlson.
1006
1007         Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
1008         MediaSourcePrivate and SourceBufferPrivate subclasses.
1009
1010         Add the new media engine to the list of installed engines:
1011         * platform/MediaSample.h:
1012         * platform/graphics/MediaPlayer.cpp:
1013         (WebCore::installedMediaEngines):
1014         * platform/graphics/MediaPlayer.h:
1015
1016         Add the new files to the project:
1017         * WebCore.xcodeproj/project.pbxproj:
1018
1019         Drive by fix for ports who implement seekDouble():
1020         * platform/graphics/MediaPlayerPrivate.h:
1021         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
1022
1023         Add new Video and AudioTrackPrivate types which handle their own enable state:
1024         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
1025         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
1026         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
1027         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
1028         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
1029         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
1030         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
1031         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
1032         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
1033         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
1034         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
1035         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
1036         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
1037         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
1038
1039         Add a new MediaPlayerPrivate which can handle MediaSource objects:
1040         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
1041         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
1042         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
1043         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
1044         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
1045         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
1046         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
1047         (WebCore::mimeTypeCache):
1048         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
1049         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
1050         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
1051         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
1052         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
1053         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
1054         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
1055         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
1056         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
1057         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
1058         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
1059         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
1060         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
1061         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
1062         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
1063         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
1064         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
1065         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
1066         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
1067         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
1068         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
1069         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
1070         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
1071         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
1072         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
1073         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
1074         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
1075         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
1076         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
1077         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
1078         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
1079         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
1080         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
1081         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
1082         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
1083         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
1084         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
1085         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
1086         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
1087         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
1088         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
1089         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
1090         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
1091         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
1092         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
1093         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
1094         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
1095         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
1096         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
1097         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
1098         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
1099
1100         Add a new MediaSourcePrivate implementation:
1101         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
1102         (WebCore::MediaSourcePrivateAVFObjC::player):
1103         (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
1104         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
1105         (WebCore::MediaSourcePrivateAVFObjC::create):
1106         (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
1107         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
1108         (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
1109         (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
1110         (WebCore::MediaSourcePrivateAVFObjC::duration):
1111         (WebCore::MediaSourcePrivateAVFObjC::setDuration):
1112         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
1113         (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
1114         (WebCore::MediaSourcePrivateAVFObjC::readyState):
1115         (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
1116         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
1117         (WebCore::MediaSourcePrivateAVFObjCHasAudio):
1118         (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
1119         (WebCore::MediaSourcePrivateAVFObjCHasVideo):
1120         (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
1121         (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
1122
1123         Add a new SourceBufferPrivate implementation:
1124         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
1125         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
1126         (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
1127         (-[WebAVStreamDataParserListener dealloc]):
1128         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
1129         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
1130         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
1131         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
1132         (WebCore::MediaSampleAVFObjC::create):
1133         (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
1134         (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
1135         (WebCore::MediaSampleAVFObjC::platformSample):
1136         (WebCore::CMSampleBufferIsRandomAccess):
1137         (WebCore::MediaSampleAVFObjC::flags):
1138         (WebCore::MediaDescriptionAVFObjC::create):
1139         (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
1140         (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
1141         (WebCore::SourceBufferPrivateAVFObjC::create):
1142         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
1143         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
1144         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
1145         (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
1146         (WebCore::callProcessCodedFrameForEachSample):
1147         (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
1148         (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
1149         (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
1150         (WebCore::SourceBufferPrivateAVFObjC::setClient):
1151         (WebCore::SourceBufferPrivateAVFObjC::append):
1152         (WebCore::SourceBufferPrivateAVFObjC::abort):
1153         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
1154         (WebCore::SourceBufferPrivateAVFObjC::readyState):
1155         (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
1156         (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
1157         (WebCore::SourceBufferPrivateAVFObjC::isFull):
1158         (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
1159         (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
1160         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
1161         (WebCore::createNonDisplayingCopy):
1162         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
1163         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
1164         (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
1165         (WebCore::SourceBufferPrivateAVFObjC::setActive):
1166         (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
1167         (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
1168         * platform/mac/PlatformClockCM.h:
1169
1170         Add a SOFT_LINK_CLASS_OPTIONAL macro:
1171         * platform/mac/SoftLinking.h:
1172
1173 2013-12-06  Alexey Proskuryakov  <ap@apple.com>
1174
1175         Remove some duplicate checks from SerializedScriptValue
1176         https://bugs.webkit.org/show_bug.cgi?id=125358
1177
1178         Reviewed by Geoffrey Garen.
1179
1180         There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
1181
1182         Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
1183         because toArrayBufferView returns a RefPtr).
1184
1185         * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
1186
1187 2013-12-06  Tim Horton  <timothy_horton@apple.com>
1188
1189         Remove Image::decodedSize()
1190         https://bugs.webkit.org/show_bug.cgi?id=125327
1191
1192         Reviewed by Simon Fraser.
1193
1194         Missed a comment when removing this code.
1195
1196         * svg/graphics/SVGImage.h:
1197
1198 2013-12-06  Rob Buis  <rob.buis@samsung.com>
1199
1200         [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
1201         https://bugs.webkit.org/show_bug.cgi?id=124680
1202
1203         Reviewed by Dirk Schulze.
1204
1205         Do not take the writing-mode property on the float into account for shape-outside.
1206         Add a virtual method writingMode() in order to do this for shape-outside but
1207         keep old behavior (element writingMode) for shape-inside.
1208
1209         Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
1210         new behavior.
1211
1212         * rendering/shapes/ShapeInfo.cpp:
1213         (WebCore::::computedShape):
1214         * rendering/shapes/ShapeInfo.h:
1215         (WebCore::ShapeInfo::writingMode):
1216         * rendering/shapes/ShapeOutsideInfo.cpp:
1217         (WebCore::ShapeOutsideInfo::writingMode):
1218         * rendering/shapes/ShapeOutsideInfo.h:
1219
1220 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
1221
1222         Web Inspector: Remove Staging Workaround
1223         https://bugs.webkit.org/show_bug.cgi?id=125354
1224
1225         Reviewed by Timothy Hatcher.
1226
1227         * inspector/CodeGeneratorInspector.py:
1228
1229 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
1230
1231         Simplify ScriptFunctionCall by removing dead code.
1232         https://bugs.webkit.org/show_bug.cgi?id=125274
1233
1234         Reviewed by Timothy Hatcher.
1235
1236         * bindings/js/ScriptFunctionCall.cpp:
1237         (WebCore::ScriptFunctionCall::call):
1238         * bindings/js/ScriptFunctionCall.h:
1239
1240 2013-12-06  Daniel Bates  <dabates@apple.com>
1241
1242         [iOS] Upstream WebCore/rendering changes
1243         https://bugs.webkit.org/show_bug.cgi?id=125239
1244
1245         Reviewed by Simon Fraser.
1246
1247         * WebCore.xcodeproj/project.pbxproj:
1248         * rendering/InlineBox.cpp:
1249         (WebCore::InlineBox::previousOnLineExists): Added.
1250         * rendering/InlineBox.h:
1251         * rendering/InlineTextBox.cpp:
1252         (WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
1253         on iOS for the composition fill color. Added FIXME to make this platform-independent.
1254         (WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
1255         (WebCore::lineStyleForMarkerType):
1256         (WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
1257         FIXME to make this code platform-independent.
1258         * rendering/RenderBlock.cpp:
1259         (WebCore::RenderBlock::paint): Ditto.
1260         (WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
1261         * rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
1262         from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
1263         * rendering/RenderBox.cpp:
1264         (WebCore::RenderBox::borderRadii): Added.
1265         (WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
1266         for more details.
1267         (WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code. 
1268         (WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
1269         (WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
1270         (WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
1271         (WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
1272         (WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
1273         (WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
1274         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
1275         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
1276         (WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
1277         * rendering/RenderBox.h:
1278         * rendering/RenderBoxModelObject.cpp:
1279         (WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
1280         instead of FrameView::viewportConstrainedVisibleContentRect().
1281         * rendering/RenderButton.cpp:
1282         (WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
1283         See <rdar://problem/7675493> for more details.
1284         * rendering/RenderElement.cpp:
1285         (WebCore::RenderElement::styleWillChange): Added iOS-specific code.
1286         (WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
1287         EventHandler::scheduleCursorUpdate() on a non-iOS port.
1288         * rendering/RenderEmbeddedObject.cpp:
1289         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
1290         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
1291         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
1292         * rendering/RenderFileUploadControl.cpp:
1293         (WebCore::nodeHeight):
1294         (WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
1295         (WebCore::RenderFileUploadControl::paintObject): Ditto.
1296         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
1297         * rendering/RenderFrameSet.cpp:
1298         (WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
1299         be specific to iOS.
1300         * rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
1301         FIXME comment to determine whether this workaround is still applicable.
1302         * rendering/RenderImage.cpp:
1303         (WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
1304         (WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
1305         * rendering/RenderImage.h:
1306         * rendering/RenderInline.cpp:
1307         (WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
1308         * rendering/RenderInline.h:
1309         * rendering/RenderLayer.cpp:
1310         (WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
1311         (WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
1312         (WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
1313         (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
1314         (WebCore::RenderLayer::handleTouchEvent): Ditto.
1315         (WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
1316         (WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
1317         (WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
1318         to composite our scroll bars.
1319         (WebCore::RenderLayer::scrollTo): Added iOS-specific code.
1320         (WebCore::RenderLayer::scrollRectToVisible): Ditto.
1321         (WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
1322         (WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
1323         (WebCore::RenderLayer::didStartScroll): Ditto.
1324         (WebCore::RenderLayer::didEndScroll): Ditto.
1325         (WebCore::RenderLayer::didUpdateScroll): Ditto.
1326         (WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
1327         (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
1328         (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
1329         (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
1330         (WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
1331         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
1332         <rdar://problem/15579797> for more details.
1333         (WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
1334         (WebCore::RenderLayer::calculateClipRects): Ditto.
1335         * rendering/RenderLayer.h:
1336         * rendering/RenderLayerBacking.cpp:
1337         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
1338         as we apply a page scale at a different time in the code.
1339         (WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
1340         (WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
1341         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
1342         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
1343         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
1344         (WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
1345         (WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
1346         (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
1347         when building on iOS Simulator.
1348         (WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
1349         (WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
1350         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
1351         (WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
1352         * rendering/RenderLayerBacking.h:
1353         * rendering/RenderLayerCompositor.cpp:
1354         (WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
1355         (WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
1356         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
1357         (WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
1358         (WebCore::updateScrollingLayerWithClient): Ditto.
1359         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
1360         (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
1361         (WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
1362         (WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
1363         the page scale factor at a different time in the code. Also, added FIXME comment.
1364         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
1365         See <rdar://problem/8348337> for more details.
1366         (WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
1367         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
1368         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
1369         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
1370         (WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
1371         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
1372         AnimationController::isRunningAnimationOnRenderer() on iOS.
1373         (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
1374         (WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
1375         (WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
1376         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
1377         instead of FrameView::viewportConstrainedVisibleContentRect().
1378         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
1379         (WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
1380         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
1381         instead of FrameView::viewportConstrainedVisibleContentRect().
1382         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
1383         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
1384         as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
1385         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
1386         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
1387         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
1388         (WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
1389         (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
1390         (WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
1391         (WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
1392         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
1393         * rendering/RenderLayerCompositor.h:
1394         * rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
1395         an unused private field.
1396         * rendering/RenderMenuList.cpp:
1397         (WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
1398         (WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
1399         (WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
1400         (WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
1401         (RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
1402         (RenderMenuList::setTextFromOption): Add iOS-specific code.
1403         (RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
1404         we don't make use of RenderMenuList::m_popup.
1405         (RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
1406         of RenderMenuList::m_popup.
1407         (RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
1408         of RenderMenuList::m_popupIsVisible.
1409         * rendering/RenderMenuList.h:
1410         * rendering/RenderObject.cpp:
1411         (WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
1412         make this function return an unsigned integer instead of a signed integer.
1413         (WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
1414         (WebCore::RenderObject::destroy): Added iOS-specific code.
1415         (WebCore::RenderObject::innerLineHeight): Added.
1416         (WebCore::RenderObject::willRenderImage): Added iOS-specific code.
1417         * rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
1418         public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
1419         (WebCore::RenderObject::absoluteQuadsForSelection):
1420         * rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
1421         private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
1422         defined in RenderLayerCompositor.cpp.
1423         * rendering/RenderSearchField.cpp:
1424         (WebCore::RenderSearchField::itemText): Added iOS-specific code.
1425         * rendering/RenderText.cpp:
1426         (WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
1427         (WebCore::RenderText::setTextInternal): Added iOS-specific code.
1428         * rendering/RenderText.h:
1429         * rendering/RenderTextControl.cpp:
1430         (WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
1431         (WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
1432         (WebCore::RenderTextControl::innerLineHeight): Ditto.
1433         * rendering/RenderTextControl.h:
1434         * rendering/RenderTextControlMultiLine.cpp:
1435         (WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
1436         (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
1437         * rendering/RenderTextControlSingleLine.cpp:
1438         (WebCore::RenderTextControlSingleLine::layout): Ditto.
1439         (WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
1440         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
1441         * rendering/RenderTextLineBoxes.cpp:
1442         (WebCore::lineDirectionPointFitsInBox): Ditto.
1443         (WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
1444         * rendering/RenderTheme.cpp:
1445         (WebCore::RenderTheme::paintBorderOnly): Ditto.
1446         (WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
1447         * rendering/RenderTheme.h:
1448         (WebCore::RenderTheme::paintCheckboxDecorations): Added.
1449         (WebCore::RenderTheme::paintRadioDecorations): Added.
1450         (WebCore::RenderTheme::paintButtonDecorations): Added.
1451         (WebCore::RenderTheme::paintTextFieldDecorations): Added.
1452         (WebCore::RenderTheme::paintTextAreaDecorations): Added.
1453         (WebCore::RenderTheme::paintMenuListDecorations): Added.
1454         (WebCore::RenderTheme::paintPushButtonDecorations): Added.
1455         (WebCore::RenderTheme::paintSquareButtonDecorations): Added.
1456         (WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
1457         (WebCore::RenderTheme::paintSliderThumbDecorations): Added.
1458         (WebCore::RenderTheme::paintSearchFieldDecorations): Added.
1459         * rendering/RenderThemeIOS.h: Added.
1460         * rendering/RenderThemeIOS.mm: Added.
1461         * rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
1462         * rendering/RenderThemeMac.mm: Ditto.
1463         * rendering/RenderVideo.cpp:
1464         (WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
1465         * rendering/RenderView.cpp:
1466         (WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
1467         (WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
1468         (WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of 
1469         FrameView::scrollOffsetForFixedPosition().
1470         (WebCore::RenderView::pushMappingToContainer): Ditto.
1471         (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
1472         (WebCore::RenderView::repaintViewRectangle): Ditto.
1473         (WebCore::RenderView::computeRectForRepaint): Ditto.
1474         (WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
1475         (WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
1476         * rendering/RenderView.h:
1477         * rendering/RenderWidget.cpp:
1478         (WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
1479         * rendering/RootInlineBox.cpp:
1480         (WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
1481         * rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.
1482
1483 2013-12-06  Zoltan Horvath  <zoltan@webkit.org>
1484
1485         Clean up the includes of RenderBlock.h 
1486         https://bugs.webkit.org/show_bug.cgi?id=125351
1487
1488         Reviewed by Darin Adler.
1489
1490         I turned some header includes into forward declarations. I also removed / 
1491         moved out some includes, which don't belong to RenderBlock.h anymore.
1492
1493         No new tests, no behavior change.
1494
1495         * editing/VisibleUnits.cpp:
1496         * html/HTMLInputElement.cpp:
1497         * html/HTMLTextAreaElement.cpp:
1498         * html/TextFieldInputType.cpp:
1499         * html/TextInputType.cpp:
1500         * rendering/InlineElementBox.cpp:
1501         * rendering/RenderBlock.h:
1502         * rendering/RenderBlockFlow.cpp:
1503         * rendering/line/LineBreaker.h:
1504         * rendering/line/LineWidth.cpp:
1505
1506 2013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1507
1508         Define SHA1 hash size in SHA1.h and use it at various places.
1509         https://bugs.webkit.org/show_bug.cgi?id=125345
1510
1511         Reviewed by Darin Adler.
1512
1513         Use SHA1::hashSize instead of local variables.
1514
1515         * Modules/websockets/WebSocketHandshake.cpp:
1516         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
1517         * platform/network/soup/ResourceHandleSoup.cpp:
1518         (WebCore::HostTLSCertificateSet::computeCertificateHash):
1519
1520 2013-12-06  Dan Bernstein  <mitz@apple.com>
1521
1522         [Cocoa] Add load delegate methods for responding to authentication challenges
1523         https://bugs.webkit.org/show_bug.cgi?id=125333
1524
1525         Reviewed by Darin Adler.
1526
1527         * WebCore.exp.in: Exported core(NSURLCredential *).
1528
1529 2013-12-06  Daniel Bates  <dabates@apple.com>
1530
1531         Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
1532         https://bugs.webkit.org/show_bug.cgi?id=125191
1533
1534         Reviewed by Joseph Pecoraro.
1535
1536         Towards upstreaming the iOS concept of render theme decorations, we should rename
1537         RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
1538         to avoid ambiguity with the iOS concept.
1539
1540         * platform/efl/RenderThemeEfl.cpp:
1541         * platform/efl/RenderThemeEfl.h:
1542         * platform/gtk/RenderThemeGtk.cpp:
1543         * platform/gtk/RenderThemeGtk.h:
1544         * rendering/RenderTheme.cpp:
1545         * rendering/RenderTheme.h:
1546         * rendering/RenderThemeMac.h:
1547         * rendering/RenderThemeMac.mm:
1548         * rendering/RenderThemeSafari.cpp:
1549         * rendering/RenderThemeSafari.h:
1550         * rendering/RenderThemeWin.cpp:
1551         * rendering/RenderThemeWin.h:
1552         * rendering/RenderThemeWinCE.cpp:
1553         * rendering/RenderThemeWinCE.h:
1554
1555 2013-12-06  Andreas Kling  <akling@apple.com>
1556
1557         Make remaining CSSValue constructors return PassRef.
1558         <https://webkit.org/b/125337>
1559
1560         Tweak the remaining CSSValue create() helpers to return PassRef
1561         instead of PassRefPtr in the cases where nullptr is never returned.
1562
1563         Reviewed by Anders Carlsson.
1564
1565 2013-12-06  Roger Fong  <roger_fong@apple.com>
1566
1567         Hook into some shader symbol logic following the ANGLE update in r159533.
1568         https://bugs.webkit.org/show_bug.cgi?id=125332.
1569
1570         Reviewed by Brent Fulgham.
1571
1572         No new functionality added.
1573
1574         * html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to 
1575             shader symbols that exist across both vertex and fragment shaders.
1576         (WebCore::WebGLRenderingContext::linkProgram):
1577         * platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings 
1578             and add new fields to the ANGLEShaderSymbol struct.
1579         (WebCore::getSymbolInfo):
1580         * platform/graphics/ANGLEWebKitBridge.h:
1581         * platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct 
1582             as well so that we can access them from our shader source map.
1583             Also add a map of varyings along side the uniforms and attributes.
1584         (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
1585         (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
1586         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1587         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1588         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1589         (WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method 
1590             will use the shader source map to check for issues with unused varyings and precisions 
1591             mismatches of shader symbols that exist across both the vertex and fragment shaders.
1592
1593 2013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
1594
1595         [ATK] Missing aria roles mappings
1596         https://bugs.webkit.org/show_bug.cgi?id=117729
1597
1598         Reviewed by Mario Sanchez Prada.
1599
1600         Added a few mappings from ARIA roles to ATK roles.
1601
1602         Test: accessibility/aria-mappings.html
1603
1604         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1605         (atkRole):
1606
1607 2013-11-11  Philippe Normand  <pnormand@igalia.com>
1608
1609         [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
1610         https://bugs.webkit.org/show_bug.cgi?id=123015
1611
1612         Reviewed by Martin Robinson.
1613
1614         When the source element starts emitting buffers send along various
1615         events to notify downstream elements.
1616
1617         No new tests, change covered by existing webaudio tests.
1618
1619         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1620         (webkit_web_audio_src_init): Initialize segment.
1621         (webKitWebAudioSrcConstructed): Give an explicit name to each
1622         queue added in front of the interleave element.
1623         (webKitWebAudioSrcLoop): Before sending the first buffers push
1624         stream-start, caps and segment events on each queue's sinkpad.
1625
1626 2013-12-05  Philippe Normand  <pnormand@igalia.com>
1627
1628         [GStreamer] Audio/Video sink management is incoherent
1629         https://bugs.webkit.org/show_bug.cgi?id=125304
1630
1631         Reviewed by Gustavo Noronha Silva.
1632
1633         Allow subclasses of MediaPlayerPrivateGStreamerBase to create
1634         custom audio/video sinks in a coherent manner using
1635         create{Audio,Video}Sink methods. Convenience getters are also
1636         available. Also removed some un-needed member variables in the
1637         playbin-based player.
1638
1639         No new tests, existing media tests cover this change.
1640
1641         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1642         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1643         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1644         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
1645         (WebCore::MediaPlayerPrivateGStreamer::audioSink):
1646         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1647         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1648         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1649         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1650         (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
1651
1652 2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1653
1654         Introduce IMAGE_TYPE_CASTS, and use it
1655         https://bugs.webkit.org/show_bug.cgi?id=125330
1656
1657         Reviewed by Ryosuke Niwa.
1658
1659         As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
1660         BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
1661
1662         No new tests, no behavior changes.
1663
1664         * loader/cache/CachedImage.cpp:
1665         (WebCore::CachedImage::imageSizeForRenderer):
1666         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
1667         * platform/graphics/BitmapImage.h:
1668         * platform/graphics/Image.h:
1669         * platform/mac/DragImageMac.mm:
1670         (WebCore::createDragImageFromImage):
1671         * svg/graphics/SVGImage.h:
1672
1673 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
1674
1675         Clean up the forwarding headers of RenderBlock.h
1676         https://bugs.webkit.org/show_bug.cgi?id=125323
1677
1678         Reviewed by Ryosuke Niwa.
1679
1680         In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
1681
1682         No new tests, no behavior change.
1683
1684         * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
1685         * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
1686
1687 2013-12-04  Oliver Hunt  <oliver@apple.com>
1688
1689         Refactor static getter function prototype to include thisValue in addition to the base object
1690         https://bugs.webkit.org/show_bug.cgi?id=124461
1691
1692         Reviewed by Geoffrey Garen.
1693
1694         Change bindings codegen to produce static getter functions
1695         with the correct types.  Also update the many custom implementations
1696         to the new type.
1697
1698         No change in behaviour.
1699
1700         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1701         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
1702         (WebCore::cssPropertyGetterCallback):
1703         * bindings/js/JSDOMBinding.cpp:
1704         (WebCore::objectToStringFunctionGetter):
1705         * bindings/js/JSDOMBinding.h:
1706         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1707         (WebCore::JSDOMMimeTypeArray::nameGetter):
1708         * bindings/js/JSDOMPluginArrayCustom.cpp:
1709         (WebCore::JSDOMPluginArray::nameGetter):
1710         * bindings/js/JSDOMPluginCustom.cpp:
1711         (WebCore::JSDOMPlugin::nameGetter):
1712         * bindings/js/JSDOMStringMapCustom.cpp:
1713         (WebCore::JSDOMStringMap::nameGetter):
1714         * bindings/js/JSDOMWindowCustom.cpp:
1715         (WebCore::nonCachingStaticFunctionGetter):
1716         (WebCore::childFrameGetter):
1717         (WebCore::indexGetter):
1718         (WebCore::namedItemGetter):
1719         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1720         (WebCore::JSHTMLAllCollection::nameGetter):
1721         * bindings/js/JSHTMLCollectionCustom.cpp:
1722         (WebCore::JSHTMLCollection::nameGetter):
1723         * bindings/js/JSHTMLDocumentCustom.cpp:
1724         (WebCore::JSHTMLDocument::nameGetter):
1725         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1726         (WebCore::JSHTMLFormControlsCollection::nameGetter):
1727         * bindings/js/JSHTMLFormElementCustom.cpp:
1728         (WebCore::JSHTMLFormElement::nameGetter):
1729         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1730         (WebCore::JSHTMLFrameSetElement::nameGetter):
1731         * bindings/js/JSHistoryCustom.cpp:
1732         (WebCore::nonCachingStaticBackFunctionGetter):
1733         (WebCore::nonCachingStaticForwardFunctionGetter):
1734         (WebCore::nonCachingStaticGoFunctionGetter):
1735         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1736         (WebCore::JSJavaScriptCallFrame::scopeType):
1737         * bindings/js/JSLocationCustom.cpp:
1738         (WebCore::nonCachingStaticReplaceFunctionGetter):
1739         (WebCore::nonCachingStaticReloadFunctionGetter):
1740         (WebCore::nonCachingStaticAssignFunctionGetter):
1741         * bindings/js/JSNamedNodeMapCustom.cpp:
1742         (WebCore::JSNamedNodeMap::nameGetter):
1743         * bindings/js/JSNodeListCustom.cpp:
1744         (WebCore::JSNodeList::nameGetter):
1745         * bindings/js/JSPluginElementFunctions.cpp:
1746         (WebCore::pluginElementPropertyGetter):
1747         * bindings/js/JSPluginElementFunctions.h:
1748         * bindings/js/JSRTCStatsResponseCustom.cpp:
1749         (WebCore::JSRTCStatsResponse::nameGetter):
1750         * bindings/js/JSStorageCustom.cpp:
1751         (WebCore::JSStorage::nameGetter):
1752         * bindings/js/JSStyleSheetListCustom.cpp:
1753         (WebCore::JSStyleSheetList::nameGetter):
1754         * bindings/scripts/CodeGeneratorJS.pm:
1755         (GenerateHeader):
1756         (GenerateImplementation):
1757         (GenerateParametersCheck):
1758         * bridge/runtime_array.cpp:
1759         (JSC::RuntimeArray::lengthGetter):
1760         (JSC::RuntimeArray::indexGetter):
1761         * bridge/runtime_array.h:
1762         * bridge/runtime_method.cpp:
1763         (JSC::RuntimeMethod::lengthGetter):
1764         * bridge/runtime_method.h:
1765         * bridge/runtime_object.cpp:
1766         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
1767         (JSC::Bindings::RuntimeObject::fieldGetter):
1768         (JSC::Bindings::RuntimeObject::methodGetter):
1769         * bridge/runtime_object.h:
1770
1771 2013-12-05  Tim Horton  <timothy_horton@apple.com>
1772
1773         Remove Image::decodedSize()
1774         https://bugs.webkit.org/show_bug.cgi?id=125327
1775
1776         Reviewed by Sam Weinig.
1777
1778         No new tests, just removing dead code.
1779
1780         * platform/graphics/BitmapImage.cpp:
1781         (WebCore::BitmapImage::resetAnimation):
1782         * platform/graphics/BitmapImage.h:
1783         * platform/graphics/GeneratedImage.h:
1784         * platform/graphics/Image.h:
1785         * platform/graphics/cg/PDFDocumentImage.cpp:
1786         * platform/graphics/cg/PDFDocumentImage.h:
1787         * svg/graphics/SVGImage.h:
1788         * svg/graphics/SVGImageForContainer.h:
1789
1790 2013-12-05  Commit Queue  <commit-queue@webkit.org>
1791
1792         Unreviewed, rolling out r160133.
1793         http://trac.webkit.org/changeset/160133
1794         https://bugs.webkit.org/show_bug.cgi?id=125325
1795
1796         broke bindings tests on all the bots (Requested by thorton on
1797         #webkit).
1798
1799         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1800         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
1801         (WebCore::cssPropertyGetterCallback):
1802         * bindings/js/JSDOMBinding.cpp:
1803         (WebCore::objectToStringFunctionGetter):
1804         * bindings/js/JSDOMBinding.h:
1805         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1806         (WebCore::JSDOMMimeTypeArray::nameGetter):
1807         * bindings/js/JSDOMPluginArrayCustom.cpp:
1808         (WebCore::JSDOMPluginArray::nameGetter):
1809         * bindings/js/JSDOMPluginCustom.cpp:
1810         (WebCore::JSDOMPlugin::nameGetter):
1811         * bindings/js/JSDOMStringMapCustom.cpp:
1812         (WebCore::JSDOMStringMap::nameGetter):
1813         * bindings/js/JSDOMWindowCustom.cpp:
1814         (WebCore::nonCachingStaticFunctionGetter):
1815         (WebCore::childFrameGetter):
1816         (WebCore::indexGetter):
1817         (WebCore::namedItemGetter):
1818         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1819         (WebCore::JSHTMLAllCollection::nameGetter):
1820         * bindings/js/JSHTMLCollectionCustom.cpp:
1821         (WebCore::JSHTMLCollection::nameGetter):
1822         * bindings/js/JSHTMLDocumentCustom.cpp:
1823         (WebCore::JSHTMLDocument::nameGetter):
1824         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1825         (WebCore::JSHTMLFormControlsCollection::nameGetter):
1826         * bindings/js/JSHTMLFormElementCustom.cpp:
1827         (WebCore::JSHTMLFormElement::nameGetter):
1828         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1829         (WebCore::JSHTMLFrameSetElement::nameGetter):
1830         * bindings/js/JSHistoryCustom.cpp:
1831         (WebCore::nonCachingStaticBackFunctionGetter):
1832         (WebCore::nonCachingStaticForwardFunctionGetter):
1833         (WebCore::nonCachingStaticGoFunctionGetter):
1834         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1835         (WebCore::JSJavaScriptCallFrame::scopeType):
1836         * bindings/js/JSLocationCustom.cpp:
1837         (WebCore::nonCachingStaticReplaceFunctionGetter):
1838         (WebCore::nonCachingStaticReloadFunctionGetter):
1839         (WebCore::nonCachingStaticAssignFunctionGetter):
1840         * bindings/js/JSNamedNodeMapCustom.cpp:
1841         (WebCore::JSNamedNodeMap::nameGetter):
1842         * bindings/js/JSNodeListCustom.cpp:
1843         (WebCore::JSNodeList::nameGetter):
1844         * bindings/js/JSPluginElementFunctions.cpp:
1845         (WebCore::pluginElementPropertyGetter):
1846         * bindings/js/JSPluginElementFunctions.h:
1847         * bindings/js/JSRTCStatsResponseCustom.cpp:
1848         (WebCore::JSRTCStatsResponse::nameGetter):
1849         * bindings/js/JSStorageCustom.cpp:
1850         (WebCore::JSStorage::nameGetter):
1851         * bindings/js/JSStyleSheetListCustom.cpp:
1852         (WebCore::JSStyleSheetList::nameGetter):
1853         * bindings/scripts/CodeGeneratorJS.pm:
1854         (GenerateHeader):
1855         (GenerateImplementation):
1856         (GenerateParametersCheck):
1857         * bridge/runtime_array.cpp:
1858         (JSC::RuntimeArray::lengthGetter):
1859         (JSC::RuntimeArray::indexGetter):
1860         * bridge/runtime_array.h:
1861         * bridge/runtime_method.cpp:
1862         (JSC::RuntimeMethod::lengthGetter):
1863         * bridge/runtime_method.h:
1864         * bridge/runtime_object.cpp:
1865         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
1866         (JSC::Bindings::RuntimeObject::fieldGetter):
1867         (JSC::Bindings::RuntimeObject::methodGetter):
1868         * bridge/runtime_object.h:
1869
1870 2013-12-05  Seokju Kwon  <seokju@webkit.org>
1871
1872         Web Inspector: Remove 'cookiesString' output from Page.getCookies
1873         https://bugs.webkit.org/show_bug.cgi?id=125268
1874
1875         Reviewed by Timothy Hatcher.
1876
1877         Remove 'cookiesString' output from Page.getCookies protocol.
1878         It is no longer meaningful because it is an unused parameter.
1879
1880         No new tests, no behavior change.
1881
1882         * inspector/InspectorPageAgent.cpp:
1883         (WebCore::InspectorPageAgent::getCookies):
1884         * inspector/InspectorPageAgent.h:
1885         * inspector/protocol/Page.json:
1886
1887 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
1888
1889         Web Inspector: expose node and frame snapshot capabilities.
1890         https://bugs.webkit.org/show_bug.cgi?id=124326
1891
1892         Reviewed by Joseph Pecoraro.
1893
1894         This adds snapshotRect() and snapshotNode() to the Page domain.
1895         Both methods create snapshots using FrameSnapshotting APIs
1896         and send images to the inspector frontend as a data URL.
1897
1898         Remove the unimplemented Page.captureScreenshot API.
1899
1900         * inspector/InspectorPageAgent.cpp:
1901         (WebCore::InspectorPageAgent::snapshotNode): Added.
1902         (WebCore::InspectorPageAgent::snapshotRect): Added.
1903         * inspector/InspectorPageAgent.h:
1904         * inspector/protocol/Page.json: Added new protocol APIs.
1905
1906 2013-12-04 Bear Travis <betravis@adobe.com>
1907
1908     [CSS Shapes] Enable CSS Shapes on Windows
1909     https://bugs.webkit.org/show_bug.cgi?id=89957
1910
1911     Reviewed by Brent Fulgham.
1912
1913     * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
1914
1915 2013-12-05  Roger Fong  <roger_fong@apple.com>
1916
1917         [WebGL] Make sure we satisfy uniform and varying packing restrictions.
1918         https://bugs.webkit.org/show_bug.cgi?id=125124.
1919         <rdar://problem/15203291>
1920
1921         Reviewed by Brent Fulgham.
1922
1923         Tests covered by WebGL Khronos conformance tests:
1924         webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
1925         webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
1926
1927         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1928         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1929
1930 2013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1931
1932         32bit buildfix after r160151
1933         https://bugs.webkit.org/show_bug.cgi?id=125298
1934
1935         Reviewed by Csaba Osztrogonác.
1936
1937         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1938         (StreamingClient::handleDataReceived):
1939
1940 2013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
1941
1942         Cropping and drawing ImageBuffers results in uninitialized data being shown
1943         https://bugs.webkit.org/show_bug.cgi?id=125271
1944
1945         Reviewed by Simon Fraser.
1946
1947         createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
1948         backing store instead of the top left. In addition, ImageBuffer::draw()
1949         draws the entire ImageBuffer's backing store instead of just the relevant
1950         portion of it.
1951
1952         No new tests are necessary because the existing tests already test this
1953         functionality
1954
1955         * platform/graphics/cg/ImageBufferCG.cpp:
1956         (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
1957         backing store 
1958         (WebCore::ImageBuffer::draw): Draw only the logical portion of the
1959         backing store 
1960
1961 2013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
1962
1963         Remove stale ScriptGlobalObject methods
1964         https://bugs.webkit.org/show_bug.cgi?id=125276
1965
1966         Reviewed by Sam Weinig.
1967
1968         * bindings/js/ScriptObject.cpp:
1969         (WebCore::ScriptGlobalObject::set):
1970         * bindings/js/ScriptObject.h:
1971
1972 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
1973
1974         Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
1975         https://bugs.webkit.org/show_bug.cgi?id=125279
1976
1977         Reviewed by Antti Koivisto.
1978
1979         Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
1980
1981         Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
1982
1983         * html/parser/HTMLConstructionSite.cpp:
1984         (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
1985         element or its ancestor is a template element.
1986         (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
1987         (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
1988         insideTemplateElement to reflect the true semantics of the boolean.
1989
1990         * html/parser/HTMLConstructionSite.h:
1991
1992         * html/parser/HTMLTreeBuilder.cpp:
1993         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
1994         is a template element on the stack of open elements. This faithfully reflects what's being said in the
1995         specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
1996         and then wrap from() in some helper function but that should probbaly happen in a separate patch.
1997         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
1998         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
1999         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
2000         when there is a template element on the stack of open elements.
2001
2002         * html/parser/HTMLTreeBuilder.h:
2003         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
2004         TEMPLATE_ELEMENT is disabled.
2005         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
2006
2007 2013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2008
2009         [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
2010         https://bugs.webkit.org/show_bug.cgi?id=125243
2011
2012         Reviewed by Eric Carlson.
2013
2014         Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
2015         added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
2016         "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
2017
2018         Existing tests updated.
2019
2020         * Modules/mediastream/MediaStream.cpp:
2021         (WebCore::MediaStream::addTrack):
2022         (WebCore::MediaStream::removeTrack):
2023         (WebCore::MediaStream::addObserver):
2024         (WebCore::MediaStream::removeObserver):
2025         * Modules/mediastream/MediaStream.h:
2026         * Modules/mediastream/RTCPeerConnection.cpp:
2027         (WebCore::RTCPeerConnection::~RTCPeerConnection):
2028         (WebCore::RTCPeerConnection::addStream):
2029         (WebCore::RTCPeerConnection::removeStream):
2030         (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
2031         * Modules/mediastream/RTCPeerConnection.h:
2032         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2033         (WebCore::RTCPeerConnectionHandlerMock::addStream):
2034
2035 2013-12-05  Beth Dakin  <bdakin@apple.com>
2036
2037         Bad repaints on twitter when the tile cache has a margin
2038         https://bugs.webkit.org/show_bug.cgi?id=125263
2039         -and corresponding-
2040         <rdar://problem/15576884>
2041
2042         Reviewed by Tim Horton.
2043
2044         When tiles that used to be margin tiles become real-content tiles, they need to be 
2045         invalidated.
2046
2047         Two new helper functions will make it so that we don’t have to manually factor out 
2048         the margin from the bounds in more than one place in the code.
2049         * platform/graphics/ca/mac/TileController.h:
2050         * platform/graphics/ca/mac/TileController.mm:
2051         (WebCore::TileController::boundsWithoutMargin):
2052         (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
2053
2054          Here is one existing place where we used to factor out the margin, but now we can 
2055         call boundsWithoutMargin().
2056         (WebCore::TileController::adjustRectAtTileIndexForMargin):
2057
2058         And here is where we invalidate the formerly-margin tiles.
2059         (WebCore::TileController::revalidateTiles):
2060
2061 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
2062
2063         Remove the forward declaration of BidiContext class from RenderBlock.h
2064         https://bugs.webkit.org/show_bug.cgi?id=125265
2065
2066         Reviewed by Csaba Osztrogonác.
2067
2068         No new tests, no behavior change.
2069
2070         * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
2071
2072 2013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
2073
2074         [Cairo] Avoid extra copy when drawing images
2075         https://bugs.webkit.org/show_bug.cgi?id=124209
2076
2077         Reviewed by Carlos Garcia Campos.
2078
2079         This commit applies some changes proposed after the original patch has
2080         been landed. It fixes the logic to create the subsurface (as it was
2081         inverted). It also remove an unnecessary RefPtr variable to hold the
2082         subsurface.
2083
2084         No new tests. It's an enhancement. Already covered by existing tests.
2085
2086         * platform/graphics/cairo/PlatformContextCairo.cpp:
2087         (WebCore::PlatformContextCairo::drawSurfaceToContext):
2088
2089 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
2090
2091         [CSS Shapes] Fix inset when only a subset of the arguments are defined
2092         https://bugs.webkit.org/show_bug.cgi?id=125277
2093
2094         Reviewed by David Hyatt.
2095
2096        I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
2097        of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
2098
2099         No new tests, I updated the old ones.
2100
2101         * css/BasicShapeFunctions.cpp:
2102         (WebCore::basicShapeForValue):
2103
2104 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2105
2106         [GTK] Do not use deprecated gtk-doc 'Rename to' tag
2107         https://bugs.webkit.org/show_bug.cgi?id=125303
2108
2109         Reviewed by Philippe Normand.
2110
2111         GObject introspection rename-to annotation is available in
2112         since version 0.6.3 so we should use that instead.
2113
2114         * bindings/gobject/WebKitDOMEventTarget.h:
2115
2116 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2117
2118         [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
2119         https://bugs.webkit.org/show_bug.cgi?id=125300
2120
2121         Reviewed by Philippe Normand.
2122
2123         Add webkit_dom_html_element_get_id and
2124         webkit_dom_html_element_set_id to the symbols files.
2125
2126         * bindings/gobject/WebKitDOMDeprecated.symbols:
2127         * bindings/gobject/webkitdom.symbols:
2128
2129 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2130
2131         Unreviewed. Update GObject DOM bindings symbols file after r159711.
2132
2133         * bindings/gobject/webkitdom.symbols:
2134
2135 2013-12-05  Zan Dobersek  <zdobersek@igalia.com>
2136
2137         [GTK] Move platform sources free of layering violations under libPlatform
2138         https://bugs.webkit.org/show_bug.cgi?id=117509
2139
2140         Reviewed by Carlos Garcia Campos.
2141
2142         * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
2143         All moved sources are free of layering violations and thus ready for the migration.
2144
2145 2013-12-05  László Langó  <lango@inf.u-szeged.hu>
2146
2147         Remove bridge/testqtbindings.cpp.
2148         https://bugs.webkit.org/show_bug.cgi?id=125287
2149
2150         Reviewed by Alexey Proskuryakov.
2151
2152         * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
2153         We don't need this file.
2154
2155 2013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
2156
2157         % unit heights don't work if parent block height is set in vh
2158         https://bugs.webkit.org/show_bug.cgi?id=118516
2159
2160         Reviewed by Simon Fraser.
2161
2162         From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
2163
2164         An element having height as percentage needs to have the
2165         containingblock's height or availableheight to calculate its
2166         own height. The containing block having a height set in vh
2167         unit was not being considered for calculating the child's
2168         height.
2169
2170         Tests: fast/css/viewport-percentage-compute-box-height.html
2171                fast/css/viewport-percentage-compute-box-width.html
2172
2173         * rendering/RenderBox.cpp:
2174         (WebCore::RenderBox::computePercentageLogicalHeight):
2175         Correct child's height(in pecentage) was not being calculated
2176         incase of parent having height set in vh unit. Added condition
2177         to calculate the containing block height in terms of viewport size.
2178
2179 2013-12-04  Roger Fong  <roger_fong@apple.com>
2180
2181         [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
2182
2183         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2184
2185 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
2186
2187         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
2188         https://bugs.webkit.org/show_bug.cgi?id=125208
2189
2190         Rubber-stamped by Anders Carlsson.
2191
2192         Address Darin's comment to use fastGetAttribute instead of getAttribute.
2193
2194         * html/HTMLDocument.cpp:
2195         (WebCore::HTMLDocument::bgColor):
2196         (WebCore::HTMLDocument::fgColor):
2197         (WebCore::HTMLDocument::alinkColor):
2198         (WebCore::HTMLDocument::linkColor):
2199         (WebCore::HTMLDocument::vlinkColor):
2200
2201 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
2202
2203         Consolidate various frame snapshot capabilities.
2204         https://bugs.webkit.org/show_bug.cgi?id=124325
2205
2206         Reviewed by Darin Adler.
2207
2208         Various snapshot creation methods had duplicated code and were split
2209         between Frame, DragImage, and platform-specific implementationss.
2210         This patch puts WebCore snapshot methods into FrameSnapshotting
2211         and removes platform implementations where possible.
2212
2213         DragImage methods reuse snapshot methods where possible. Inspector
2214         will be able to take snapshots without using drag images.
2215
2216         No new tests, this is a refactoring.
2217
2218         * CMakeLists.txt:
2219         * GNUmakefile.list.am:
2220         * WebCore.exp.in:
2221         * WebCore.vcxproj/WebCore.vcxproj:
2222         * WebCore.vcxproj/WebCore.vcxproj.filters:
2223         * WebCore.xcodeproj/project.pbxproj:
2224         * bindings/objc/DOM.mm:
2225         (-[DOMNode renderedImage]):
2226         (-[DOMRange renderedImageForcingBlackText:]):
2227         * dom/Clipboard.cpp:
2228         (WebCore::Clipboard::createDragImage):
2229         * dom/ClipboardMac.mm:
2230         (WebCore::Clipboard::createDragImage):
2231         * page/DragController.cpp:
2232         (WebCore::DragController::startDrag):
2233         * page/Frame.cpp:
2234         * page/Frame.h:
2235         * page/FrameSnapshotting.cpp: Added.
2236         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
2237         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
2238         (WebCore::snapshotFrameRect): Move most buffer logic to here.
2239         (WebCore::snapshotSelection): Moved from Frame.
2240         (WebCore::snapshotNode): Moved from Frame.
2241         * page/FrameSnapshotting.h: Added.
2242         * page/mac/FrameMac.mm: Removed.
2243         * page/mac/FrameSnapshottingMac.h: Removed.
2244         * page/mac/FrameSnapshottingMac.mm: Removed.
2245         * page/win/FrameWin.cpp: remove duplicate implementation.
2246         * page/win/FrameWin.h: Fix an incorrect parameter name.
2247         * platform/DragImage.cpp:
2248         (WebCore::ScopedNodeDragState::ScopedNodeDragState):
2249         (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
2250         (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
2251         (WebCore::createDragImageForNode):
2252         (WebCore::createDragImageForSelection):
2253         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
2254         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
2255         (WebCore::createDragImageForRange): Moved from Frame.
2256         (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
2257         (WebCore::createDragImageForLink): use nullptr.
2258
2259 2013-12-04  Benjamin Poulain  <bpoulain@apple.com>
2260
2261         Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
2262
2263         Unreviewed.
2264
2265         * platform/network/cf/ResourceHandleCFNet.cpp:
2266         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2267
2268 2013-12-04  Antti Koivisto  <antti@apple.com>
2269
2270         Move pseudo element construction out from Element
2271         https://bugs.webkit.org/show_bug.cgi?id=125257
2272
2273         Reviewed by Anders Carlsson.
2274
2275         This is logically part of the style resolve/render tree construction. This will make future
2276         refactoring easier.
2277
2278         * dom/Element.cpp:
2279         * dom/Element.h:
2280         * style/StyleResolveTree.cpp:
2281         (WebCore::Style::beforeOrAfterPseudoElement):
2282         (WebCore::Style::setBeforeOrAfterPseudoElement):
2283         (WebCore::Style::clearBeforeOrAfterPseudoElement):
2284         (WebCore::Style::needsPseudeElement):
2285         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
2286         (WebCore::Style::attachRenderTree):
2287         (WebCore::Style::updateBeforeOrAfterPseudoElement):
2288         (WebCore::Style::resolveTree):
2289
2290 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
2291
2292         Move TrailingObjects class into its own h/cpp
2293         https://bugs.webkit.org/show_bug.cgi?id=124956
2294
2295         Reviewed by David Hyatt.
2296
2297         Since I moved space-ignoring inline functions into MidpointState in r160074,
2298         I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
2299         This change improves the readability, and it's part of the RenderBlockLineLayout
2300         refactoring campaign, which is tracked under bug #121261.
2301
2302         No new tests, no behavior change.
2303
2304         * CMakeLists.txt:
2305         * GNUmakefile.list.am:
2306         * WebCore.vcxproj/WebCore.vcxproj:
2307         * WebCore.xcodeproj/project.pbxproj:
2308         * rendering/RenderBlock.h:
2309         * rendering/RenderBlockFlow.h:
2310         * rendering/line/BreakingContextInlineHeaders.h:
2311         * rendering/line/TrailingObjects.cpp: Added.
2312         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2313         * rendering/line/TrailingObjects.h: Added.
2314         (WebCore::TrailingObjects::TrailingObjects):
2315         (WebCore::TrailingObjects::setTrailingWhitespace):
2316         (WebCore::TrailingObjects::clear):
2317         (WebCore::TrailingObjects::appendBoxIfNeeded):
2318
2319 2013-12-04  Oliver Hunt  <oliver@apple.com>
2320
2321         Refactor static getter function prototype to include thisValue in addition to the base object
2322         https://bugs.webkit.org/show_bug.cgi?id=124461
2323
2324         Reviewed by Geoffrey Garen.
2325
2326         Change bindings codegen to produce static getter functions
2327         with the correct types.  Also update the many custom implementations
2328         to the new type.
2329
2330         No change in behaviour.
2331
2332         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2333         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
2334         (WebCore::cssPropertyGetterCallback):
2335         * bindings/js/JSDOMBinding.cpp:
2336         (WebCore::objectToStringFunctionGetter):
2337         * bindings/js/JSDOMBinding.h:
2338         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2339         (WebCore::JSDOMMimeTypeArray::nameGetter):
2340         * bindings/js/JSDOMPluginArrayCustom.cpp:
2341         (WebCore::JSDOMPluginArray::nameGetter):
2342         * bindings/js/JSDOMPluginCustom.cpp:
2343         (WebCore::JSDOMPlugin::nameGetter):
2344         * bindings/js/JSDOMStringMapCustom.cpp:
2345         (WebCore::JSDOMStringMap::nameGetter):
2346         * bindings/js/JSDOMWindowCustom.cpp:
2347         (WebCore::nonCachingStaticFunctionGetter):
2348         (WebCore::childFrameGetter):
2349         (WebCore::indexGetter):
2350         (WebCore::namedItemGetter):
2351         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2352         (WebCore::JSHTMLAllCollection::nameGetter):
2353         * bindings/js/JSHTMLCollectionCustom.cpp:
2354         (WebCore::JSHTMLCollection::nameGetter):
2355         * bindings/js/JSHTMLDocumentCustom.cpp:
2356         (WebCore::JSHTMLDocument::nameGetter):
2357         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2358         (WebCore::JSHTMLFormControlsCollection::nameGetter):
2359         * bindings/js/JSHTMLFormElementCustom.cpp:
2360         (WebCore::JSHTMLFormElement::nameGetter):
2361         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2362         (WebCore::JSHTMLFrameSetElement::nameGetter):
2363         * bindings/js/JSHistoryCustom.cpp:
2364         (WebCore::nonCachingStaticBackFunctionGetter):
2365         (WebCore::nonCachingStaticForwardFunctionGetter):
2366         (WebCore::nonCachingStaticGoFunctionGetter):
2367         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2368         (WebCore::JSJavaScriptCallFrame::scopeType):
2369         * bindings/js/JSLocationCustom.cpp:
2370         (WebCore::nonCachingStaticReplaceFunctionGetter):
2371         (WebCore::nonCachingStaticReloadFunctionGetter):
2372         (WebCore::nonCachingStaticAssignFunctionGetter):
2373         * bindings/js/JSNamedNodeMapCustom.cpp:
2374         (WebCore::JSNamedNodeMap::nameGetter):
2375         * bindings/js/JSNodeListCustom.cpp:
2376         (WebCore::JSNodeList::nameGetter):
2377         * bindings/js/JSPluginElementFunctions.cpp:
2378         (WebCore::pluginElementPropertyGetter):
2379         * bindings/js/JSPluginElementFunctions.h:
2380         * bindings/js/JSRTCStatsResponseCustom.cpp:
2381         (WebCore::JSRTCStatsResponse::nameGetter):
2382         * bindings/js/JSStorageCustom.cpp:
2383         (WebCore::JSStorage::nameGetter):
2384         * bindings/js/JSStyleSheetListCustom.cpp:
2385         (WebCore::JSStyleSheetList::nameGetter):
2386         * bindings/scripts/CodeGeneratorJS.pm:
2387         (GenerateHeader):
2388         (GenerateImplementation):
2389         (GenerateParametersCheck):
2390         * bridge/runtime_array.cpp:
2391         (JSC::RuntimeArray::lengthGetter):
2392         (JSC::RuntimeArray::indexGetter):
2393         * bridge/runtime_array.h:
2394         * bridge/runtime_method.cpp:
2395         (JSC::RuntimeMethod::lengthGetter):
2396         * bridge/runtime_method.h:
2397         * bridge/runtime_object.cpp:
2398         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
2399         (JSC::Bindings::RuntimeObject::fieldGetter):
2400         (JSC::Bindings::RuntimeObject::methodGetter):
2401         * bridge/runtime_object.h:
2402
2403 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
2404
2405         [CSS Shapes] Support inset for shape-outside
2406         <https://webkit.org/b/125112>
2407
2408         Reviewed by David Hyatt.
2409
2410         This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
2411         Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
2412
2413         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
2414                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
2415                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
2416                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
2417                fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
2418
2419         * platform/LengthSize.h:
2420         (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
2421         * rendering/shapes/Shape.cpp:
2422         (WebCore::Shape::createShape): Handle inset case.
2423
2424 2013-12-04  Bear Travis  <betravis@adobe.com>
2425
2426         Web Inspector: [CSS Shapes] Support raster shape visualizations
2427         https://bugs.webkit.org/show_bug.cgi?id=124080
2428
2429         Reviewed by Joseph Pecoraro.
2430
2431         Create an inspector visualization for a shape created from an image.
2432         The visualization takes each line of the image, combining where possible.
2433
2434         Test added to inspector-protocol/model/highlight-shape-outside.html
2435
2436         * rendering/shapes/RasterShape.cpp:
2437         (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
2438         RasterShapeIntervals.
2439         * rendering/shapes/RasterShape.h:
2440
2441 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
2442
2443         [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
2444         https://bugs.webkit.org/show_bug.cgi?id=125163
2445
2446         Reviewed by Rob Buis.
2447
2448         I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
2449         I removed numbering, which will decrease for instance the merge conflicts on Type changes.
2450
2451         No new tests, no behavior change.
2452
2453         * css/CSSBasicShapes.h:
2454         * rendering/style/BasicShapes.h:
2455
2456 2013-12-04  Myles C. Maxfield  <mmaxfield@apple.com>
2457
2458         Allow ImageBuffer to use an IOSurface that is larger than necessary
2459         https://bugs.webkit.org/show_bug.cgi?id=124626
2460
2461         Reviewed by Simon Fraser.
2462
2463         Because creating ImageBuffer's backing store can be so expensive, it
2464         would be beneficial to have a pool of pre-created backing stores
2465         available. However, this means that ImageBuffer might have to use a
2466         backing store that is larger than the exact dimensions that it needs.
2467         This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
2468         class, and uses this new field when performing ImageBuffer operations
2469         to allow for larger-than-necessary backing stores. Content is always
2470         drawn in the top left corner of the backing store.
2471
2472         No new tests are necessary because there is no behavior change.
2473
2474         * platform/graphics/ImageBuffer.h:
2475         (WebCore::ImageBuffer::baseTransform): The base transform has to put
2476         content at the top left corner instead of bottom left
2477         * platform/graphics/cg/ImageBufferCG.cpp:
2478         (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
2479         the dimensions of the backing texture in user space
2480         (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
2481         (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
2482         outputting an image with logical size. This function performs the cropping
2483         (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
2484         backing stores
2485         (WebCore::ImageBuffer::copyNativeImage): Ditto
2486         (WebCore::ImageBuffer::draw): Ditto
2487         (WebCore::ImageBuffer::clip): Ditto
2488         (WebCore::ImageBuffer::putByteArray): Ditto
2489         (WebCore::ImageBuffer::toDataURL): Ditto
2490         * platform/graphics/cg/ImageBufferDataCG.cpp:
2491         (WebCore::ImageBufferData::getData): Ditto
2492         (WebCore::ImageBufferData::putData): Ditto
2493         * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
2494
2495 2013-12-03  Dean Jackson  <dino@apple.com>
2496
2497         [WebGL] Support for texImage2D of type HALF_FLOAT_OES
2498         https://bugs.webkit.org/show_bug.cgi?id=110936
2499
2500         Reviewed by Brent Fulgham.
2501
2502         Add support for the HALF_FLOAT_OES texture format from texImage2D
2503         and texSubImage2D.
2504
2505         A lot of this patch comes from the original patch on the bug
2506         by Nayan Kumar, and the Blink commit:
2507         https://codereview.chromium.org/13842017
2508
2509         Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
2510                fast/canvas/webgl/oes-texture-half-float-with-image.html
2511                fast/canvas/webgl/oes-texture-half-float-with-video.html
2512
2513         * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
2514         * html/canvas/WebGLRenderingContext.cpp:
2515         (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
2516         would bail if half-float values were used.
2517         * platform/graphics/GraphicsContext3D.cpp:
2518         - Return appropriate DataFormats for half floating point types.
2519         - Copy the float -> half-float code from Blink
2520         - New pack functions for half floats
2521         * platform/graphics/GraphicsContext3D.h: New format types.
2522         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2523         (WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
2524         a HALF_FLOAT_OES.
2525
2526 2013-12-04  Daniel Bates  <dabates@apple.com>
2527
2528         Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113>
2529         (https://bugs.webkit.org/show_bug.cgi?id=125193)
2530
2531         * rendering/RenderThemeWin.cpp:
2532         (WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.
2533
2534 2013-12-04  Daniel Bates  <dabates@apple.com>
2535
2536         Rename RenderTheme::paintMenuListButton()
2537         https://bugs.webkit.org/show_bug.cgi?id=125193
2538
2539         Reviewed by Simon Fraser.
2540
2541         Towards upstreaming the iOS concept of render theme decorations we should rename
2542         RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
2543         to better describe its purpose.
2544
2545         Also, fix code style issues.
2546
2547         * platform/blackberry/RenderThemeBlackBerry.cpp:
2548         (WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):
2549         * platform/blackberry/RenderThemeBlackBerry.h:
2550         * platform/efl/RenderThemeEfl.cpp:
2551         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
2552         * platform/efl/RenderThemeEfl.h:
2553         * platform/gtk/RenderThemeGtk.cpp:
2554         (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
2555         * platform/gtk/RenderThemeGtk.h:
2556         * platform/nix/RenderThemeNix.h:
2557         * rendering/RenderTheme.cpp:
2558         (WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.
2559         * rendering/RenderTheme.h:
2560         (WebCore::RenderTheme::paintMenuListButtonDecorations):
2561         * rendering/RenderThemeMac.h:
2562         * rendering/RenderThemeMac.mm:
2563         (WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
2564         respectively; also remove extraneous white space and substitute 1 for 1.0f.
2565         * rendering/RenderThemeSafari.cpp:
2566         (WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.
2567         * rendering/RenderThemeSafari.h:
2568         * rendering/RenderThemeWin.cpp:
2569         (WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
2570         respectively.
2571         (WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.
2572         * rendering/RenderThemeWin.h:
2573         * rendering/RenderThemeWinCE.cpp:
2574         (WebCore::RenderThemeWinCE::paintMenuList): Ditto.
2575         (WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto. 
2576         * rendering/RenderThemeWinCE.h:
2577
2578 2013-12-04  Andy Estes  <aestes@apple.com>
2579
2580         [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
2581         https://bugs.webkit.org/show_bug.cgi?id=125236
2582
2583         Reviewed by Sam Weinig.
2584
2585         $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
2586
2587         * Configurations/DebugRelease.xcconfig:
2588
2589 2013-12-04  Joseph Pecoraro  <pecoraro@apple.com>
2590
2591         Unreviewed Windows build fix attempt after r160099.
2592
2593         * WebCore.vcxproj/WebCore.vcxproj.filters:
2594         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2595
2596 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
2597
2598         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
2599         https://bugs.webkit.org/show_bug.cgi?id=124613
2600
2601         Reviewed by Timothy Hatcher.
2602
2603         Make a WebCore::Page a "Web" Remote Debuggable.
2604
2605         * bindings/js/JSDOMGlobalObject.cpp:
2606         Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
2607
2608         * page/Page.cpp:
2609         (WebCore::Page::Page):
2610         (WebCore::Page::remoteInspectionAllowed):
2611         (WebCore::Page::setRemoteInspectionAllowed):
2612         (WebCore::Page::remoteInspectorInformationDidChange):
2613         * page/Page.h:
2614         * page/PageDebuggable.h:
2615         * page/PageDebuggable.cpp: Added.
2616         (WebCore::PageDebuggable::PageDebuggable):
2617         (WebCore::PageDebuggable::name):
2618         (WebCore::PageDebuggable::url):
2619         (WebCore::PageDebuggable::hasLocalDebugger):
2620         (WebCore::PageDebuggable::connect):
2621         (WebCore::PageDebuggable::disconnect):
2622         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
2623         (WebCore::PageDebuggable::setIndicating):
2624         Make a page a "Web" debuggable.
2625
2626         * GNUmakefile.list.am:
2627         * WebCore.exp.in:
2628         * WebCore.vcxproj/WebCore.vcxproj:
2629         * WebCore.vcxproj/WebCore.vcxproj.filters:
2630         * WebCore.xcodeproj/project.pbxproj:
2631         Misc.
2632
2633         * inspector/InspectorClient.h:
2634         (WebCore::InspectorClient::indicate):
2635         (WebCore::InspectorClient::hideIndicate):
2636         Forward indicate methods to WebKit clients.
2637
2638         * loader/FrameLoader.cpp:
2639         (WebCore::FrameLoader::didChangeTitle):
2640         (WebCore::FrameLoader::dispatchDidCommitLoad):
2641         Push updates when remote debuggable information like the Page's
2642         URL or title change.
2643
2644         * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
2645         * inspector/InspectorForwarding.h:
2646         Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
2647         to avoid needlessly updating code all over the place.
2648
2649         * inspector/CodeGeneratorInspectorStrings.py:
2650         * inspector/InspectorWorkerAgent.cpp:
2651         * inspector/WorkerInspectorController.cpp:
2652         * testing/Internals.cpp:
2653         Update include names.
2654
2655         * page/ContextMenuController.cpp:
2656         (WebCore::ContextMenuController::populate):
2657         Make the "Inspect Element" context menu work correctly when there is a
2658         remote inspector instead of a local inspector.
2659
2660 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
2661
2662         Web Inspector: Add missing folders and files to Xcode project
2663         https://bugs.webkit.org/show_bug.cgi?id=124802
2664
2665         Reviewed by Timothy Hatcher.
2666
2667         * WebCore.xcodeproj/project.pbxproj:
2668
2669 2013-12-04  José Dapena Paz  <jdapena@igalia.com>
2670
2671         [texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing
2672         https://bugs.webkit.org/show_bug.cgi?id=124653
2673
2674         Reviewed by Noam Rosenthal.
2675
2676         Texture mapper edge distance antialiasing texture sampling was causing
2677         borders to be shaded (and made them almost disappear in some cases).
2678         This was because calculation of sampling happened on vertex shader, so
2679         the border of the texture would go to the border of the inflation area.
2680
2681         What algorithm should do is sampling the border pixel for all the
2682         inflation area (it is the closest pixel to all the samples in
2683         inflation area), and then use the standard sampling for the other
2684         parts of the texture.
2685
2686         No new test because this is already covered by test
2687         transforms/3d/point-mapping/3d-point-mapping.html
2688
2689         * platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
2690         distance antialiasing texture sampling.
2691
2692 2013-12-04  László Langó  <lango@inf.u-szeged.hu>
2693
2694         Typo fix after r160074 to fix debug builds.
2695
2696         Reviewed by Csaba Osztrogonác.
2697
2698         * platform/text/BidiResolver.h:
2699         (WebCore::MidpointState::stopIgnoringSpaces):
2700
2701 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
2702
2703         Move space-ignoring inline functions into MidpointState
2704         <https://webkit.org/b/124957>
2705
2706         Reviewed by David Hyatt.
2707
2708         Since:
2709          - The following inline functions were used only with a mandatory LineMidpointState argument:
2710            startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
2711          - TrailingObjects class uses these functions. Since they're inline in BreakingContextInlineHeaders.h,
2712            it's hard to separate TrailingObjects into it's own file. (blocks bug #124956)
2713          I made these functions as a member of LineMidpointState, and I also updated the call sites.
2714
2715         No new tests, no behavior change.
2716
2717         * platform/text/BidiResolver.h:
2718         (WebCore::MidpointState::startIgnoringSpaces):
2719         (WebCore::MidpointState::stopIgnoringSpaces):
2720         (WebCore::MidpointState::ensureLineBoxInsideIgnoredSpaces):
2721         (WebCore::MidpointState::deprecatedAddMidpoint):
2722         * rendering/RenderBlock.h:
2723         * rendering/line/BreakingContextInlineHeaders.h:
2724         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2725         (WebCore::BreakingContext::handleBR):
2726         (WebCore::BreakingContext::handleOutOfFlowPositioned):
2727         (WebCore::shouldSkipWhitespaceAfterStartObject):
2728         (WebCore::BreakingContext::handleEmptyInline):
2729         (WebCore::BreakingContext::handleReplaced):
2730         (WebCore::ensureCharacterGetsLineBox):
2731         (WebCore::BreakingContext::handleText):
2732
2733 2013-12-03  Zoltan Horvath  <zoltan@webkit.org>
2734
2735         Remove BreakingContext's friendship from RenderBlockFlow
2736         <https://webkit.org/b/124958>
2737
2738         Reviewed by David Hyatt.
2739
2740         BreakingContext uses only 2 functions from RenderBlockFlow: insertFloatingObject/positionNewFloatOnLine. I added helper
2741         functions to LineBreaker, what is already a friend of RenderBlockFlow, so BreakingContext doesn't need to be anymore.
2742  
2743         No new tests, no behavior change.
2744
2745         * rendering/RenderBlockFlow.h:
2746         * rendering/line/BreakingContextInlineHeaders.h:
2747         (WebCore::BreakingContext::handleFloat):
2748         * rendering/line/LineBreaker.h:
2749         (WebCore::LineBreaker::insertFloatingObject):
2750         (WebCore::LineBreaker::positionNewFloatOnLine):
2751
2752 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2753
2754         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
2755         https://bugs.webkit.org/show_bug.cgi?id=125208
2756
2757         Reviewed by Antti Koivisto.
2758
2759         Merge https://chromium.googlesource.com/chromium/blink/+/49b1eeabbbf573d5271288c66d2b566cf33a09cf
2760
2761         These member functions of HTMLBodyElement were only used by corresponding functions in HTMLDocument
2762         since they had the Reflect option specified in HTMLBodyElement.idl.
2763
2764         Removed the functions and directly called getAttribute and setAttribute in relevant functions in
2765         HTMLDocument. The optimization to avoid assignment is no longer needed here since we've added that
2766         optimization to setAttributeInternal a while ago.
2767
2768         * html/HTMLBodyElement.cpp:
2769         * html/HTMLBodyElement.h:
2770         * html/HTMLDocument.cpp:
2771         (WebCore::HTMLDocument::bgColor):
2772         (WebCore::HTMLDocument::setBgColor):
2773         (WebCore::HTMLDocument::fgColor):
2774         (WebCore::HTMLDocument::setFgColor):
2775         (WebCore::HTMLDocument::alinkColor):
2776         (WebCore::HTMLDocument::setAlinkColor):
2777         (WebCore::HTMLDocument::linkColor):
2778         (WebCore::HTMLDocument::setLinkColor):
2779         (WebCore::HTMLDocument::vlinkColor):
2780         (WebCore::HTMLDocument::setVlinkColor):
2781         * html/HTMLDocument.h:
2782
2783 2013-12-03  Andreas Kling  <akling@apple.com>
2784
2785         Add a CSSProperty::isDirectionAwareProperty() helper.
2786         <https://webkit.org/b/125202>
2787
2788         Move the block of case labels for checking whether a CSS property ID
2789         is a directional property into a separate function. Also removed an
2790         outdated comment about CSS variables.
2791
2792         Reviewed by Antti Koivisto.
2793
2794 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2795
2796         Revert the inadvertently committed change.
2797
2798         * html/HTMLElement.idl:
2799
2800 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2801
2802         Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
2803         https://bugs.webkit.org/show_bug.cgi?id=125210
2804
2805         Reviewed by Antti Koivisto.
2806
2807         Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98
2808
2809         Removed some unused code.
2810
2811         * editing/FrameSelection.cpp:
2812         (WebCore::FrameSelection::textWasReplaced):
2813         * editing/FrameSelection.h:
2814         * page/Settings.in:
2815
2816 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2817
2818         Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
2819         https://bugs.webkit.org/show_bug.cgi?id=125207
2820
2821         Reviewed by Simon Fraser.
2822         
2823         Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440
2824
2825         Update style in FrameSelection instead of RenderView's member functions. These are the last two
2826         member functions of RenderView that updates the style.
2827
2828         * editing/FrameSelection.cpp:
2829         (WebCore::FrameSelection::focusedOrActiveStateChanged):
2830         (WebCore::FrameSelection::bounds):
2831         * rendering/RenderView.cpp:
2832         (WebCore::RenderView::selectionBounds):
2833         (WebCore::RenderView::repaintSelection):
2834
2835 2013-12-03  Mark Rowe  <mrowe@apple.com>
2836
2837         <https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.
2838
2839         Add a space between @property and any parenthesized attributes.
2840         Prefer strong over retain when specifying memory management semantics.
2841
2842         Reviewed by Darin Adler.
2843
2844         * bindings/objc/PublicDOMInterfaces.h:
2845         * bindings/scripts/CodeGeneratorObjC.pm:
2846         (GetPropertyAttributes): Generate strong instead of retain. Include a
2847         space before the parenthesis.
2848         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
2849         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
2850         * bindings/scripts/test/ObjC/DOMTestException.h:
2851         * bindings/scripts/test/ObjC/DOMTestInterface.h:
2852         * bindings/scripts/test/ObjC/DOMTestObj.h:
2853         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2854         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
2855         * bindings/scripts/test/ObjC/DOMattribute.h:
2856
2857 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
2858
2859         Update WebCrypto JWK mapping to newer proposal
2860         https://bugs.webkit.org/show_bug.cgi?id=124218
2861
2862         Reviewed by Anders Carlsson.
2863
2864         Tests: crypto/subtle/jwk-export-use-values.html
2865                crypto/subtle/jwk-import-use-values.html
2866
2867         1. "extractable" renamed to "ext" in JWK.
2868         2. New values for "use" mapping, which can now be combined into comma separated lists,
2869         and cover all possible WebCrypto usages.
2870
2871         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2872         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
2873         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
2874         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2875         (WebCore::processUseValue):
2876         (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
2877         (WebCore::JSCryptoKeySerializationJWK::serialize):
2878
2879 2013-12-03  Simon Fraser  <simon.fraser@apple.com>
2880
2881         Remove some iOS-related documentScale code
2882         https://bugs.webkit.org/show_bug.cgi?id=125194
2883
2884         Reviewed by Enrica Casucci.
2885
2886         Remove exports of nonexistent documentScale-related functions on Frame.
2887
2888         * WebCore.exp.in:
2889
2890 2013-12-03  Eric Carlson  <eric.carlson@apple.com>
2891
2892         Fix regression caused by r158599
2893         https://bugs.webkit.org/show_bug.cgi?id=125188
2894
2895         Reviewed by Jer Noble.
2896
2897         * html/HTMLMediaElement.cpp:
2898         (HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
2899             is enabled.
2900
2901 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2902
2903         Nix Upstream: Updating WebCore files
2904         https://bugs.webkit.org/show_bug.cgi?id=124981
2905
2906         Reviewed by Benjamin Poulain.
2907
2908         Just to sync our github repo files and the trunk, as part of the upstream process
2909
2910         No new tests needed.
2911
2912         * PlatformNix.cmake:
2913         * css/mediaControlsNix.css:
2914         (audio):
2915         (video::-webkit-media-controls):
2916         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
2917         (video::-webkit-media-controls-enclosure):
2918         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2919         (video:-webkit-full-page-media):
2920         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
2921         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2922         (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
2923         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2924         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2925         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2926         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2927         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2928         (input[type="range"]::-webkit-media-slider-container):
2929         (input[type="range"]::-webkit-media-slider-container > div):
2930         (input[type="range"]::-webkit-media-slider-thumb):
2931         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2932         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2933         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2934         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2935         (audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
2936         (audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
2937         (audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
2938         (video::-webkit-media-text-track-container):
2939         (video::cue):
2940         (video::-webkit-media-text-track-region):
2941         (video::-webkit-media-text-track-region-container):
2942         (video::-webkit-media-text-track-region-container.scrolling):
2943         (video::-webkit-media-text-track-display):
2944         (video::cue(:future)):
2945         (video::-webkit-media-text-track-container b):
2946         (video::-webkit-media-text-track-container u):
2947         (video::-webkit-media-text-track-container i):
2948         * editing/Editor.cpp:
2949         (WebCore::Editor::cut):
2950         (WebCore::Editor::copy):
2951         (WebCore::Editor::copyImage):
2952         * editing/Editor.h:
2953         * html/HTMLCanvasElement.h:
2954         * platform/Cursor.h:
2955         * platform/audio/FFTFrame.h:
2956         * platform/audio/nix/AudioBusNix.cpp:
2957         (WebCore::AudioBus::loadPlatformResource):
2958         * platform/graphics/GLContext.h:
2959         * platform/nix/CursorNix.cpp:
2960         (WebCore::Cursor::ensurePlatformCursor):
2961         * platform/nix/GamepadsNix.cpp:
2962         (WebCore::sampleGamepads):
2963         * platform/nix/RenderThemeNix.cpp:
2964         (WebCore::toIntSize):
2965         (WebCore::toNixRect):
2966         (WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
2967         (WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
2968         (WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
2969         (WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
2970         (WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
2971         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
2972         (WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
2973         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
2974         (WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
2975         (WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
2976         (WebCore::RenderThemeNix::platformFocusRingColor):
2977         (WebCore::RenderThemeNix::platformTapHighlightColor):
2978         (WebCore::RenderThemeNix::paintButton):
2979         (WebCore::RenderThemeNix::paintTextField):
2980         (WebCore::RenderThemeNix::paintCheckbox):
2981         (WebCore::RenderThemeNix::setCheckboxSize):
2982         (WebCore::RenderThemeNix::paintRadio):
2983         (WebCore::RenderThemeNix::setRadioSize):
2984         (WebCore::RenderThemeNix::paintMenuList):
2985         (WebCore::RenderThemeNix::paintProgressBar):
2986         (WebCore::RenderThemeNix::paintSliderTrack):
2987         (WebCore::RenderThemeNix::paintSliderThumb):
2988         (WebCore::RenderThemeNix::paintInnerSpinButton):
2989         (WebCore::RenderThemeNix::paintMeter):
2990         (WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
2991         (WebCore::RenderThemeNix::paintMediaPlayButton):
2992         (WebCore::RenderThemeNix::paintMediaMuteButton):
2993         (WebCore::RenderThemeNix::paintMediaSeekBackButton):
2994         (WebCore::RenderThemeNix::paintMediaSeekForwardButton):
2995         (WebCore::RenderThemeNix::paintMediaSliderTrack):
2996         (WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
2997         (WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
2998         (WebCore::RenderThemeNix::paintMediaRewindButton):
2999         * platform/nix/RenderThemeNix.h:
3000         * rendering/SimpleLineLayout.cpp:
3001         (WebCore::SimpleLineLayout::canUseFor):
3002
3003 2013-12-03  Ralph Thomas  <ralpht@gmail.com>
3004
3005         Typo: FixedPositionConstaint -> FixedPositionConstraint
3006         https://bugs.webkit.org/show_bug.cgi?id=125171
3007
3008         Reviewed by Simon Fraser.
3009
3010         No new tests, no change in behavior.
3011
3012         * page/scrolling/ScrollingConstraints.h:
3013         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
3014         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
3015         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3016         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
3017
3018 2013-12-03  Samuel White  <samuel_white@apple.com>
3019
3020         AXPress event coordinates are always sent as (0, 0)
3021         https://bugs.webkit.org/show_bug.cgi?id=76677
3022
3023         Reviewed by Simon Fraser.
3024
3025         Set the coordinates of a simulated press equal to the center of the target
3026         element when the simulated press does not have a related mouse event.
3027
3028         Test: accessibility/press-targets-center-point.html
3029
3030         * dom/Element.cpp:
3031         (WebCore::Element::clientRect):
3032         (WebCore::Element::screenRect):
3033         * dom/Element.h:
3034         * dom/EventDispatcher.cpp:
3035         (WebCore::EventDispatcher::dispatchSimulatedClick):
3036         * dom/MouseEvent.cpp:
3037         (WebCore::SimulatedMouseEvent::create):
3038         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
3039         * dom/MouseEvent.h:
3040
3041 2013-12-03  Dean Jackson  <dino@apple.com>
3042
3043         [WebGL] Implement OES texture float linear
3044         https://bugs.webkit.org/show_bug.cgi?id=124871
3045
3046         Reviewed by Brent Fulgham.
3047
3048         Implement the OES_texture_float_linear extension. Generally
3049         we'd also enable OES_texture_half_float_linear at the same
3050         time, but that's blocked on webkit.org/b/110936.
3051
3052         Test: fast/canvas/webgl/oes-texture-float-linear.html
3053
3054         * CMakeLists.txt: Add new files.
3055         * DerivedSources.cpp: Ditto.
3056         * DerivedSources.make: Generate new file from IDL.
3057         * GNUmakefile.list.am: Add new files.
3058         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
3059         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3060         * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
3061
3062         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3063         (WebCore::toJS): Map the new name into the appropriate type.
3064
3065         * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
3066         that's mostly empty.
3067         (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
3068         (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
3069         (WebCore::OESTextureFloatLinear::getName):
3070         (WebCore::OESTextureFloatLinear::create):
3071         * html/canvas/OESTextureFloatLinear.h: Added.
3072         * html/canvas/OESTextureFloatLinear.idl: Added.
3073
3074         * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
3075
3076         * html/canvas/WebGLRenderingContext.cpp:
3077         (WebCore::WebGLRenderingContext::drawArrays): Call new name.
3078         (WebCore::WebGLRenderingContext::drawElements): Call new name.
3079         (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
3080         (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
3081         checks for the type of the texture too.
3082         * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
3083
3084         * html/canvas/WebGLTexture.cpp:
3085         (WebCore::WebGLTexture::WebGLTexture):
3086         (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
3087         if it has an extension enabled.
3088         (WebCore::WebGLTexture::update): Note it is a float type when updating.
3089         * html/canvas/WebGLTexture.h: New flag to indicate float type.
3090
3091         * platform/graphics/Extensions3D.h: New flag type.
3092         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3093         (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
3094
3095 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
3096
3097         Support exporting private WebCrypto RSA keys
3098         https://bugs.webkit.org/show_bug.cgi?id=124483
3099
3100         Reviewed by Anders Carlsson.
3101
3102         Test: crypto/subtle/rsa-export-private-key.html
3103
3104         It might be better to have our own bignum implementation in WTF, but we currently
3105         don't, and the need for this computation is Common Crypto specific anyway.
3106
3107         * crypto/CommonCryptoUtilities.h:
3108         * crypto/CommonCryptoUtilities.cpp:
3109         (WebCore::CCBigNum::CCBigNum):
3110         (WebCore::CCBigNum::~CCBigNum):
3111         (WebCore::CCBigNum::operator=):
3112         (WebCore::CCBigNum::data):
3113         (WebCore::CCBigNum::operator-):
3114         (WebCore::CCBigNum::operator%):
3115         (WebCore::CCBigNum::inverse):
3116         Added a minimal wrapper around CommonCrypto BigNum.
3117
3118         * crypto/mac/CryptoKeyRSAMac.cpp:
3119         (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
3120         (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
3121
3122 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
3123
3124         XML fragment parsing algorithm doesn't use the context element's default namespace URI
3125         https://bugs.webkit.org/show_bug.cgi?id=125132
3126
3127         Reviewed by Darin Adler.
3128
3129         Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
3130
3131         The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
3132         http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
3133
3134         "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
3135         return true."
3136
3137         Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
3138
3139         * xml/parser/XMLDocumentParserLibxml2.cpp:
3140         (WebCore::XMLDocumentParser::XMLDocumentParser):
3141
3142 2013-12-03  Nick Diego Yamane  <nick.yamane@openbossa.org>
3143
3144         Remove some CSS Variables leftovers
3145         https://bugs.webkit.org/show_bug.cgi?id=125167
3146
3147         Reviewed by Darin Adler.
3148
3149         No new tests needed. Only removing leftover code.
3150
3151         * css/CSSBasicShapes.cpp:
3152         * css/CSSBasicShapes.h:
3153
3154 2013-12-03  Myles C. Maxfield  <mmaxfield@apple.com>
3155
3156         Checking second-to-last bit in address is a typo
3157         https://bugs.webkit.org/show_bug.cgi?id=125162
3158
3159         Reviewed by Darin Adler.
3160
3161         After talking with the original author of this line,
3162         is was a typo to make sure that the second-to-last bit
3163         in an address is 0. Instead, we want to make sure that
3164         the address is aligned to a 4-byte boundary
3165
3166         No behavior change, so no test is necessary
3167
3168         * platform/graphics/cg/ImageBufferCG.cpp:
3169         (WebCore::ImageBuffer::ImageBuffer):
3170
3171 2013-12-03  Radu Stavila  <stavila@adobe.com>
3172
3173         The overflow border of a relatively positioned element inside a region is not painted
3174         https://bugs.webkit.org/show_bug.cgi?id=124919
3175
3176         Relative positioned elements have self-painting layers that don't propagate the visual overflow
3177         so the layer's position should be used when determining the clipping rectangle for box decorations.
3178
3179         Reviewed by Mihnea Ovidenie.
3180
3181         Test: fast/regions/relative-borders-overflow.html
3182
3183         * rendering/RenderFlowThread.cpp:
3184         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
3185
3186 2013-12-03  Seokju Kwon  <seokju@webkit.org>
3187
3188         Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
3189         https://bugs.webkit.org/show_bug.cgi?id=125135
3190
3191         Reviewed by Darin Adler.
3192
3193         Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
3194         as it's never called.
3195
3196         No new tests, no behavior changes.
3197
3198         * inspector/InspectorController.h:
3199         * inspector/WorkerInspectorController.h:
3200
3201 2013-12-03  Seokju Kwon  <seokju@webkit.org>
3202
3203         Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
3204         https://bugs.webkit.org/show_bug.cgi?id=125137
3205
3206         Reviewed by Darin Adler.
3207
3208         Remove leftover code.
3209
3210         No new tests, no behavior changes.
3211
3212         * inspector/InspectorController.cpp:
3213         * inspector/InspectorController.h:
3214         * inspector/InspectorOverlay.cpp:
3215         * inspector/InspectorOverlay.h:
3216         * inspector/InspectorPageAgent.cpp:
3217         * inspector/InspectorPageAgent.h:
3218
3219 2013-12-03  László Langó  <lango@inf.u-szeged.hu>
3220
3221         ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
3222         https://bugs.webkit.org/show_bug.cgi?id=125146
3223
3224         Reviewed by Darin Adler.
3225
3226         Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
3227         An implicit y-value can become explicit if specified as a separate longhand.
3228         At the same time, its new value can be non-primitive.
3229
3230         Backported from Blink:
3231         http://src.chromium.org/viewvc/blink?view=rev&rev=153678
3232
3233         Test: fast/css/webkit-mask-crash-implicit.html
3234
3235         * css/StyleProperties.cpp:
3236         (WebCore::StyleProperties::getLayeredShorthandValue):
3237
3238 2013-12-03  Rob Buis  <rob.buis@samsung.com>
3239
3240         Fix build break after r160007.
3241
3242         * rendering/style/BasicShapes.cpp:
3243         (WebCore::BasicShape::canBlend):
3244
3245 2013-12-03  Rob Buis  <rob.buis@samsung.com>
3246
3247         [css shapes] layout for new ellipse syntax
3248         https://bugs.webkit.org/show_bug.cgi?id=124621
3249
3250         Reviewed by Dirk Schulze.
3251
3252         Implement support for doing layout with the new ellipse shape syntax,
3253         including basic animation support.
3254
3255         Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
3256
3257         * rendering/shapes/Shape.cpp:
3258         (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
3259         * rendering/style/BasicShapes.cpp:
3260         (WebCore::BasicShape::canBlend): Ignore ellipses with values that
3261             cannot be interpolated.
3262         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
3263             either radiusX or radiusY, shared by clip-path and shape code paths.
3264         (WebCore::BasicShapeEllipse::path):
3265         * rendering/style/BasicShapes.h:
3266
3267 2013-12-03  Frédéric Wang  <fred.wang@free.fr>
3268
3269         Add an MathMLSelectElement class to implement <maction> and <semantics>.
3270         <https://webkit.org/b/120058>
3271
3272         Reviewed by Chris Fleizach.
3273
3274         Tests: mathml/presentation/maction-dynamic.html
3275                mathml/presentation/maction.html
3276                mathml/presentation/semantics.html
3277
3278         This adds a new MathMLSelectElement class to prepare the implementation
3279         of the <maction> and <semantics> elements, for which only one "selected"
3280         child is visible. We now simply display the first child of the
3281         <semantics> element instead of hiding the annotations and this allows to
3282         handle the use case of SVG-in-MathML as generated by Instiki when
3283         bug 124128 is fixed ; Gecko's selection algorithm will be implemented
3284         later (bug 100626). We now also rely on the @actiontype and @selection
3285         attributes to select the visible <maction> child ; It remains to deal
3286         with the user interaction (bug 85734).
3287
3288         * CMakeLists.txt: add the new files.
3289         * GNUmakefile.list.am: ditto
3290         * Target.pri: ditto
3291         * WebCore.vcxproj/WebCore.vcxproj: ditto
3292         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
3293         * WebCore.xcodeproj/project.pbxproj: ditto
3294         * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
3295         * mathml/MathMLAllInOne.cpp: add the new cpp file.
3296         * mathml/MathMLSelectElement.cpp: Added.
3297         (WebCore::MathMLSelectElement::MathMLSelectElement):
3298         (WebCore::MathMLSelectElement::create):
3299         (WebCore::MathMLSelectElement::createRenderer):
3300         (WebCore::MathMLSelectElement::childShouldCreateRenderer):
3301         (WebCore::MathMLSelectElement::finishParsingChildren):
3302         (WebCore::MathMLSelectElement::childrenChanged):
3303         (WebCore::MathMLSelectElement::attributeChanged):
3304         (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
3305         * mathml/MathMLSelectElement.h: Added.
3306         * mathml/mathattrs.in: add actiontype and selection attributes.
3307         * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
3308
3309 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3310
3311         Nix Upstream: Adding missing nix new files to WebCore
3312         https://bugs.webkit.org/show_bug.cgi?id=124987
3313
3314         Reviewed by Benjamin Poulain.
3315
3316         No new tests needed.
3317
3318         * PlatformNix.cmake:
3319         * platform/nix/ErrorsNix.cpp: Added.
3320         * platform/nix/ErrorsNix.h: Added.
3321         * platform/nix/FileSystemNix.cpp: Added.
3322         * platform/nix/MIMETypeRegistryNix.cpp: Added.
3323         * platform/nix/SharedTimerNix.cpp: Added.
3324         * platform/nix/TemporaryLinkStubs.cpp: Added.
3325
3326 2013-12-03  Tamas Gergely  <gertom@inf.u-szeged.hu>
3327
3328         Correct broken build on efl port with --no-netscape-plugin-api
3329         configuration.
3330         https://bugs.webkit.org/show_bug.cgi?id=123997
3331
3332         Reviewed by Zoltan Herczeg.
3333
3334         Build failed on efl port with --no-netscape-plugin-api configuration
3335         as ld did not found some methods. The configuration uses a minimal
3336         empty implementation of the class, which is now extended with empty
3337         method implementations.
3338
3339         * plugins/PluginPackageNone.cpp:
3340         (WebCore::PluginPackage::createPackage):
3341           Returns NULL pointer.
3342         (WebCore::PluginPackage::hash):
3343           Returns 0.
3344         (WebCore::PluginPackage::equal):
3345           Returns true (equals).
3346         (WebCore::PluginPackage::compare):
3347           Returns 0 (equals).
3348         (WebCore::PluginPackage::~PluginPackage):
3349           Do nothing.
3350
3351 2013-12-02  Andreas Kling  <akling@apple.com>
3352
3353         Avoid setting style twice for generated image content.
3354         <https://webkit.org/b/125128>
3355
3356         Take care of a FIXME I added in r158097 and avoid redundant work in
3357         ImageContentData::createRenderer().
3358
3359         I changed the inheritance helper RenderImage::setPseudoStyle() into
3360         a new createStyleInheritingFromPseudoStyle() function instead so it
3361         can be used from both PseudoElement and ImageContentData.
3362
3363         Reviewed by Antti Koivisto.
3364
3365 2013-12-02  Samuel White  <samuel_white@apple.com>
3366
3367         AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
3368         https://bugs.webkit.org/show_bug.cgi?id=124561
3369
3370         Reviewed by Chris Fleizach.
3371
3372         Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
3373         to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
3374         exist on a page, and then fetch them in chunks as needed.
3375
3376         Test: platform/mac/accessibility/search-predicate-element-count.html
3377
3378         * accessibility/AccessibilityObject.cpp:
3379         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
3380         * accessibility/AccessibilityObject.h:
3381         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
3382         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3383         (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
3384         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3385         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3386
3387 2013-12-02  Bem Jones-Bey  <bjonesbe@adobe.com>
3388
3389         [css shapes] Layout support for new circle shape syntax
3390         https://bugs.webkit.org/show_bug.cgi?id=124619
3391
3392         Reviewed by Dirk Schulze.
3393
3394         Implement support for doing layout with the new circle shape syntax,
3395         inclduing basic animation support.
3396
3397         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
3398                fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
3399                fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
3400                fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
3401                fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
3402                fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
3403
3404         * css/BasicShapeFunctions.cpp:
3405         (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
3406             layout code and the clip path code.
3407         * css/BasicShapeFunctions.h:
3408         * css/CSSBasicShapes.cpp:
3409         (WebCore::buildCircleString): Update to use appendLiteral, and remove
3410             call to reserveCapacity - if we find that it's actually slow when
3411             doing performance tests, we can hopefully do something smarter and
3412             less ugly than that.
3413         * css/CSSParser.cpp:
3414         (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
3415             the radius keywords not to work properly.
3416         * rendering/shapes/Shape.cpp:
3417         (WebCore::Shape::createShape): Convert new circle to a layout shape.
3418         * rendering/style/BasicShapes.cpp:
3419         (WebCore::BasicShape::canBlend): Ignore circles with values that
3420             cannot be interpolated.
3421         (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
3422             radius keywords to a float value.
3423         (WebCore::BasicShapeCircle::path):
3424         (WebCore::BasicShapeCircle::blend):
3425         * rendering/style/BasicShapes.h:
3426         (WebCore::BasicShapeCenterCoordinate::canBlend):
3427         (WebCore::BasicShapeRadius::canBlend):
3428
3429 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
3430
3431         WebCrypto HMAC doesn't check key algorithm's hash
3432         https://bugs.webkit.org/show_bug.cgi?id=125114
3433
3434         Reviewed by Anders Carlsson.
3435
3436         Test: crypto/subtle/hmac-check-algorithm.html
3437
3438         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
3439         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
3440
3441 2013-12-02  Brady Eidson  <beidson@apple.com>
3442
3443         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
3444         https://bugs.webkit.org/show_bug.cgi?id=125110
3445
3446         Reviewed by Darin Adler.
3447
3448         FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
3449
3450         It’s unclear how to reproduce, but there’s no harm in a null check.
3451
3452         * loader/FrameLoader.cpp:
3453         (WebCore::FrameLoader::loadProgressingStatusChanged):
3454
3455 2013-12-02  Brady Eidson  <beidson@apple.com>
3456
3457         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
3458         https://bugs.webkit.org/show_bug.cgi?id=125110
3459
3460         Reviewed by Darin Adler.
3461
3462         It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
3463
3464         On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
3465         out the heartbeat timer is also stopped.
3466
3467         But there’s likely still a race condition in multi-threaded environments.
3468
3469         There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
3470
3471         * loader/ProgressTracker.cpp:
3472         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
3473
3474 2013-12-02  Brady Eidson  <beidson@apple.com>
3475
3476         Add more CachedPage null checks
3477         https://bugs.webkit.org/show_bug.cgi?id=125106
3478
3479         Reviewed by Sam Weinig.
3480
3481         Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
3482
3483         Every part that manipulates the CachedPage should.
3484
3485         * history/PageCache.cpp:
3486         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
3487         (WebCore::PageCache::markPagesForFullStyleRecalc):
3488         (WebCore::PageCache::markPagesForDeviceScaleChanged):
3489         (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
3490
3491 2013-12-02  Zoltan Horvath  <zoltan@webkit.org>
3492
3493         [CSS Shapes] Support inset parsing
3494         https://bugs.webkit.org/show_bug.cgi?id=124903
3495
3496         Reviewed by David Hyatt.
3497
3498         In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
3499         by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
3500         Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
3501
3502         No new tests, I updated existing tests to cover the changes.
3503
3504         * css/BasicShapeFunctions.cpp:
3505         (WebCore::valueForBasicShape): Add support for inset.
3506         (WebCore::basicShapeForValue): Add support for inset.
3507         * css/CSSBasicShapes.cpp:
3508         (WebCore::buildInsetString): Create inset css string.
3509         (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
3510         (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
3511         (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
3512         (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
3513         * css/CSSBasicShapes.h: Add inset class.
3514         (WebCore::CSSBasicShapeInset::create):
3515         (WebCore::CSSBasicShapeInset::top):
3516         (WebCore::CSSBasicShapeInset::right):
3517         (WebCore::CSSBasicShapeInset::bottom):
3518         (WebCore::CSSBasicShapeInset::left):
3519         (WebCore::CSSBasicShapeInset::topLeftRadius):
3520         (WebCore::CSSBasicShapeInset::topRightRadius):
3521         (WebCore::CSSBasicShapeInset::bottomRightRadius):
3522         (WebCore::CSSBasicShapeInset::bottomLeftRadius):
3523         (WebCore::CSSBasicShapeInset::setTop):
3524         (WebCore::CSSBasicShapeInset::setRight):
3525         (WebCore::CSSBasicShapeInset::setBottom):
3526         (WebCore::CSSBasicShapeInset::setLeft):
3527         (WebCore::CSSBasicShapeInset::setTopLeftRadius):
3528         (WebCore::CSSBasicShapeInset::setTopRightRadius):
3529         (WebCore::CSSBasicShapeInset::setBottomRightRadius):
3530         (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
3531         (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
3532         * css/CSSParser.cpp:
3533         (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
3534         (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
3535         (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
3536         (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
3537         * css/CSSParser.h:
3538         * css/CSSPrimitiveValue.cpp:
3539         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
3540         (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
3541         * css/CSSPrimitiveValue.h:
3542         (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
3543         * css/CSSValuePool.h:
3544         (WebCore::CSSValuePool::createValue): Add support for LengthSize.
3545         * platform/LengthSize.h:
3546         (WebCore::LengthSize::blend): Add blend for LengthSize.
3547         * rendering/shapes/ShapeInsideInfo.cpp:
3548         (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
3549         * rendering/style/BasicShapes.cpp:
3550         (WebCore::BasicShapeInset::path): Calculate path for an inset.
3551         (WebCore::BasicShapeInset::blend): Blend two insets.
3552         * rendering/style/BasicShapes.h: Add higher level inset.
3553         (WebCore::BasicShapeInset::create):
3554         (WebCore::BasicShapeInset::top):
3555         (WebCore::BasicShapeInset::right):
3556         (WebCore::BasicShapeInset::bottom):
3557         (WebCore::BasicShapeInset::left):
3558         (WebCore::BasicShapeInset::topLeftRadius):
3559         (WebCore::BasicShapeInset::topRightRadius):
3560         (WebCore::BasicShapeInset::bottomRightRadius):
3561         (WebCore::BasicShapeInset::bottomLeftRadius):
3562         (WebCore::BasicShapeInset::setTop):
3563         (WebCore::BasicShapeInset::setRight):
3564         (WebCore::BasicShapeInset::setBottom):
3565         (WebCore::BasicShapeInset::setLeft):
3566         (WebCore::BasicShapeInset::setTopLeftRadius):
3567         (WebCore::BasicShapeInset::setTopRightRadius):
3568         (WebCore::BasicShapeInset::setBottomRightRadius):
3569         (WebCore::BasicShapeInset::setBottomLeftRadius):
3570         (WebCore::BasicShapeInset::BasicShapeInset):
3571
3572 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
3573
3574         Support WebCrypto AES-KW
3575         https://bugs.webkit.org/show_bug.cgi?id=125105
3576
3577         Reviewed by Sam Weinig.
3578
3579         Tests: crypto/subtle/aes-kw-key-manipulation.html
3580                crypto/subtle/aes-kw-wrap-unwrap-aes.html
3581
3582         * WebCore.xcodeproj/project.pbxproj: Added new files.
3583
3584         * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
3585         It's not standardized yet, but there appears to be a consensus that it will be specified.
3586
3587         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3588         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
3589         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
3590         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
3591         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
3592         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
3593         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
3594         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
3595         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
3596         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
3597         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
3598         Added AES-KW cases everywhere.
3599
3600         * bindings/js/JSCryptoKeySerializationJWK.cpp:
3601         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
3602         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
3603         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
3604         Support importing/exporting AES-KW keys in JWK.
3605
3606         * bindings/js/JSSubtleCryptoCustom.cpp:
3607         (WebCore::JSSubtleCrypto::importKey):
3608         (WebCore::JSSubtleCrypto::exportKey):
3609         (WebCore::JSSubtleCrypto::wrapKey):
3610         (WebCore::JSSubtleCrypto::unwrapKey):
3611         Added some accidentally forgotten std::moves.
3612
3613         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
3614         * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
3615         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
3616
3617         * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
3618         as valid algorithm for AES keys.
3619
3620         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
3621         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
3622
3623 2013-12-02  Beth Dakin  <bdakin@apple.com>
3624
3625         Add a setting to opt into a mode where the background extends and fixed elements 
3626         don't move on rubber-band
3627         https://bugs.webkit.org/show_bug.cgi?id=124745
3628
3629         Reviewed by Tim Horton.
3630
3631         New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
3632         margin, and it will also cause fixed elements and backgrounds to stick to the 
3633         viewport on scroll instead of sticking to the document. 
3634
3635         * WebCore.exp.in:
3636         * page/FrameView.cpp:
3637         (WebCore::FrameView::scrollBehaviorForFixedElements):
3638         * page/Settings.in:
3639         * rendering/RenderLayerBacking.cpp:
3640         (WebCore::RenderLayerBacking::RenderLayerBacking):
3641
3642 2013-12-02  Roger Zanoni  <rogerzanoni@gmail.com>
3643
3644         [MediaStream] Use iterator-based loops instead of index-based loops
3645         https://bugs.webkit.org/show_bug.cgi?id=125021
3646
3647         Reviewed by Eric Carlson.
3648
3649         Also, changing iterator variable names from iter to it and
3650         initializing an 'end' variable in each loop instead of evaluating
3651         'collection.end()' multiple times.
3652
3653         No new tests, covered by existing ones.
3654
3655         * Modules/mediastream/MediaStream.cpp:
3656         (WebCore::MediaStream::cloneMediaStreamTrackVector):
3657         (WebCore::MediaStream::haveTrackWithSource):
3658         (WebCore::MediaStream::getTrackById):
3659         (WebCore::MediaStream::trackDidEnd):
3660         (WebCore::MediaStream::scheduledEventTimerFired):
3661
3662 2013-12-02  Rob Buis  <rob.buis@samsung.com>
3663
3664         [css shapes] Parse new ellipse shape syntax
3665         https://bugs.webkit.org/show_bug.cgi?id=124620
3666
3667         Reviewed by Dirk Schulze.
3668
3669         Implement parsing of the new ellipse shape syntax. This closely follows the patch
3670         for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
3671         some refactoring of functionality shared by both.
3672
3673         Updated existing parsing tests to cover this.
3674
3675         * css/BasicShapeFunctions.cpp:
3676         (WebCore::BasicShapeRadiusToCSSValue):
3677         (WebCore::valueForBasicShape):
3678         (WebCore::CSSValueToBasicShapeRadius):
3679         (WebCore::basicShapeForValue):
3680         * css/CSSBasicShapes.cpp:
3681         (WebCore::buildEllipseString):
3682         (WebCore::CSSBasicShapeEllipse::cssText):
3683         (WebCore::CSSBasicShapeEllipse::equals):
3684         (WebCore::buildDeprecatedEllipseString):
3685         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
3686         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
3687         * css/CSSBasicShapes.h:
3688         (WebCore::CSSDeprecatedBasicShapeEllipse::create):
3689         (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
3690         (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
3691         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
3692         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
3693         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
3694         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
3695         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
3696         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
3697         (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
3698         * css/CSSParser.cpp:
3699         (WebCore::CSSParser::parseBasicShapeEllipse):
3700         (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
3701         (WebCore::CSSParser::parseBasicShape):
3702         * css/CSSParser.h:
3703         * rendering/shapes/Shape.cpp:
3704         (WebCore::Shape::createShape):
3705         * rendering/style/BasicShapes.cpp:
3706         (WebCore::DeprecatedBasicShapeEllipse::path):
3707         (WebCore::DeprecatedBasicShapeEllipse::blend):
3708         (WebCore::BasicShapeEllipse::path):
3709         (WebCore::BasicShapeEllipse::blend):
3710         * rendering/style/BasicShapes.h:
3711         (WebCore::BasicShapeEllipse::centerX):
3712         (WebCore::BasicShapeEllipse::centerY):
3713         (WebCore::BasicShapeEllipse::radiusX):
3714         (WebCore::BasicShapeEllipse::radiusY):
3715         (WebCore::BasicShapeEllipse::setCenterX):
3716         (WebCore::BasicShapeEllipse::setCenterY):
3717         (WebCore::BasicShapeEllipse::setRadiusX):
3718         (WebCore::BasicShapeEllipse::setRadiusY):
3719         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
3720         (WebCore::DeprecatedBasicShapeEllipse::create):
3721         (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
3722
3723 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
3724
3725         Add support for WebCrypto RSA-OAEP
3726         https://bugs.webkit.org/show_bug.cgi?id=125084
3727
3728         Build fix.
3729
3730         * crypto/CommonCryptoUtilities.h:
3731         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
3732         * crypto/mac/CryptoKeyRSAMac.cpp:
3733
3734 2013-12-02  Brendan Long  <b.long@cablelabs.com>
3735
3736         Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
3737         https://bugs.webkit.org/show_bug.cgi?id=124811
3738
3739         Reviewed by Eric Carlson.
3740
3741         No new tests because this is just refactoring.
3742
3743         * html/track/TrackListBase.cpp:
3744         (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
3745         (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
3746         (TrackListBase::scheduleAddTrackEvent): Same.
3747         (TrackListBase::scheduleRemoveTrackEvent): Same.
3748         (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
3749         * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
3750
3751 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
3752
3753         Add support for WebCrypto RSA-OAEP
3754         https://bugs.webkit.org/show_bug.cgi?id=125084
3755
3756         Build fix.
3757
3758         * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
3759         CryptoAlgorithmRsaOaepParams.h.
3760
3761 2013-12-02  Victor Jaquez  <vjaquez@igalia.com>
3762
3763         [Gstreamer] update webkitvideosink metadata
3764         https://bugs.webkit.org/show_bug.cgi?id=125082
3765
3766         Reviewed by Philippe Normand.
3767
3768         No new tests, no behavior changes.
3769
3770         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3771         (webkit_video_sink_class_init):
3772
3773 2013-12-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3774
3775         Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
3776         https://bugs.webkit.org/show_bug.cgi?id=125077
3777
3778         Remove the method's unused parameter.
3779         Remove the GStreamer 0.10.22 run-time validation, since we are using
3780         GStreamer 1.0 officially.
3781         Remove the creation of a spurious Bin for the video sink, since
3782         either the fpssink or the webkitsink are valid sink elements.
3783         Change fpsink to a GRefPtr.
3784
3785         Now, createVideoSink() returns a simple pointer to the created sink
3786         element.
3787
3788         Reviewed by Philippe Normand.
3789
3790         No new tests, no behavior changes.
3791
3792         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3793         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
3794         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3795         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
3796         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
3797         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
3798         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3799
3800 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
3801
3802         Add support for WebCrypto RSA-OAEP
3803         https://bugs.webkit.org/show_bug.cgi?id=125084
3804
3805         Reviewed by Sam Weinig.
3806
3807         Tests: crypto/subtle/rsa-oaep-key-manipulation.html
3808                crypto/subtle/rsa-oaep-plaintext-length.html
3809                crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
3810
3811         * WebCore.xcodeproj/project.pbxproj: Added new files.
3812
3813         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3814         (WebCore::createRsaOaepParams):
3815         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
3816         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
3817         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
3818         Added RSA-OAEP parameters.
3819
3820         * bindings/js/JSCryptoKeySerializationJWK.cpp:
3821         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
3822         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
3823         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
3824         Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
3825         allows SHA-1 as hash.
3826
3827         * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
3828         * crypto/CommonCryptoUtilities.h: Added.
3829         Extracted some shared code and forward declarations for CommonCrypto.
3830
3831         * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
3832         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
3833         Added RsaOaepParams.
3834
3835         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
3836         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
3837         * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
3838
3839         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
3840         (WebCore::getCommonCryptoHMACAlgorithm):
3841         (WebCore::CryptoAlgorithmHMAC::platformSign):
3842         (WebCore::CryptoAlgorithmHMAC::platformVerify):
3843         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
3844         * crypto/mac/CryptoKeyMac.cpp:
3845         * crypto/mac/CryptoKeyRSAMac.cpp:
3846         Use CommonCryptoUtilities.
3847
3848         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
3849         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
3850
3851 2013-12-02  Andres Gomez  <agomez@igalia.com>
3852
3853         [GTK] Fails to build with freetype 2.5.1
3854         https://bugs.webkit.org/show_bug.cgi?id=125074
3855
3856         Reviewed by Carlos Garcia Campos.
3857
3858         FreeType specifies a canonical way of including their own
3859         headers. Now, we are following this recommendation so the
3860         compilation won't be broken again due to an upgrade in FeeType's
3861         including paths.
3862
3863         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3864         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3865         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
3866
3867 2013-12-02  Chris Fleizach  <cfleizach@apple.com>
3868
3869         AX: Crash at WebCore::commonTreeScope
3870         https://bugs.webkit.org/show_bug.cgi?id=125042
3871
3872         Reviewed by Mario Sanchez Prada.
3873
3874         When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
3875         because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
3876
3877         Test: platform/mac/accessibility/ordered-textmarker-crash.html
3878
3879         * accessibility/AccessibilityObject.cpp:
3880         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3881         * dom/TreeScope.cpp:
3882         (WebCore::commonTreeScope):
3883
3884 2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
3885
3886         Fix a crash in the webaudio source provider when the audio track is going away.
3887         https://bugs.webkit.org/show_bug.cgi?id=124975
3888
3889         Reviewed by Philippe Normand.
3890
3891         Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
3892
3893         Before this patch, it was hitting a use-after-free crash  when the audio
3894         track in the media stream is going away and the webaudio mediastreamsourcenode
3895         is still running.
3896
3897         * Modules/webaudio/AudioContext.cpp:
3898         (WebCore::AudioContext::createMediaStreamSource): Passing audio track
3899         pointer to MediaStreamAudioSourceNode constructor.
3900         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3901         (WebCore::MediaStreamAudioSourceNode::create):
3902         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
3903         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
3904         MediaStreamTrack class variable and change the constructor to receive
3905         it as parameter.
3906
3907 2013-12-02  Andrzej Badowski  <a.badowski@samsung.com>
3908
3909         [ATK] Support active state for listbox elements.
3910         https://bugs.webkit.org/show_bug.cgi?id=125009
3911
3912         Reviewed by Chris Fleizach.
3913
3914         Added support for ATK_STATE_ACTIVE for listbox elements.
3915
3916         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3917         (setAtkStateSetFromCoreObject):
3918
3919 2013-12-02  Seokju Kwon  <seokju@webkit.org>
3920
3921         Web Inspector: Remove unused functions from InspectorAgent
3922         https://bugs.webkit.org/show_bug.cgi?id=125061
3923
3924         Reviewed by Antoine Quint.
3925
3926         Get rid of unused functions, redundant inclusion and forward declaration.
3927
3928         No new tests, no behavior changes.
3929
3930         * inspector/InspectorAgent.cpp:
3931         * inspector/InspectorAgent.h:
3932
3933 2013-12-02  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
3934
3935         Fix build warning in EventHandler.cpp
3936         https://bugs.webkit.org/show_bug.cgi?id=125010
3937
3938         Reviewed by Csaba Osztrogonác.
3939
3940         * page/EventHandler.cpp:
3941         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
3942
3943 2013-12-02  Attila Dusnoki  <adusnoki@inf.u-szeged.hu>
3944
3945         HTML5 required attribute validation messages implemented.
3946         https://bugs.webkit.org/show_bug.cgi?id=125003
3947
3948         Reviewed by Gyuyoung Kim.
3949
3950         * platform/efl/LocalizedStringsEfl.cpp:
3951         (WebCore::validationMessagePatternMismatchText):
3952         (WebCore::validationMessageValueMissingText):
3953         (WebCore::validationMessageValueMissingForCheckboxText):
3954         (WebCore::validationMessageValueMissingForFileText):
3955         (WebCore::validationMessageValueMissingForMultipleFileText):
3956         (WebCore::validationMessageValueMissingForRadioText):
3957         (WebCore::validationMessageValueMissingForSelectText):
3958         (WebCore::validationMessageBadInputForNumberText):
3959
3960 2013-12-01  Andreas Kling  <akling@apple.com>
3961
3962         SVG: Intersection/enclosure checks should use RenderElement.
3963         <https://webkit.org/b/125058>
3964
3965         Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
3966         take RenderElement* instead of RenderObject*. They are only ever
3967         called with SVGElement's renderers.
3968
3969         Reviewed by Sam Weinig.
3970
3971 2013-12-01  Andreas Kling  <akling@apple.com>
3972
3973         Remove unreachable labels for -webkit-margin-*-collapse properties.
3974         <https://webkit.org/b/125057>
3975
3976         The following properties are implemented in DeprecatedStyleBuilder
3977         and should not have case labels in the applyProperty() switch:
3978
3979             -webkit-margin-before-collapse
3980             -webkit-margin-top-collapse
3981             -webkit-margin-after-collapse
3982             -webkit-margin-bottom-collapse
3983
3984         This seems counter-intuitive, but they are actually *not* like other
3985         directional properties. In this case, before/after are only aliases
3986         for top/bottom, and do not depend on writing-mode or text-direction.
3987         See also r68561, where the aliases were originally added.
3988
3989         Reviewed by Anders Carlsson.
3990
3991 2013-12-01  Andreas Kling  <akling@apple.com>
3992
3993         CSSFunctionValue constructors should return PassRef.
3994         <https://webkit.org/b/125054>
3995
3996         Make CSSFunctionValue::create() helpers return PassRef instead of
3997         PassRefPtr since they will never return null.
3998
3999         Reviewed by Anders Carlsson.
4000
4001 2013-12-01  Commit Queue  <commit-queue@webkit.org>
4002
4003         Unreviewed, rolling out r159764.
4004         http://trac.webkit.org/changeset/159764
4005         https://bugs.webkit.org/show_bug.cgi?id=125055
4006
4007         appears to hurt html5-full-render times (Requested by kling on
4008         #webkit).
4009
4010         * html/parser/HTMLConstructionSite.cpp:
4011         (WebCore::HTMLConstructionSite::insertTextNode):
4012         * html/parser/HTMLConstructionSite.h:
4013
4014 2013-12-01  Andreas Kling  <akling@apple.com>
4015
4016         Make more computed style helpers return PassRef.
4017         <https://webkit.org/b/125043>
4018
4019         Reduce branchiness in computed style code by making more of the
4020         file-local helpers return PassRef instead of PassRefPtr.
4021
4022         Reviewed by Anders Carlsson.
4023
4024 2013-11-30  Ryuan Choi  <ryuan.choi@samsung.com>
4025
4026         [EFL] Implement scrollbarThickness for opaque scrollbar
4027         https://bugs.webkit.org/show_bug.cgi?id=125034
4028
4029         Reviewed by Gyuyoung Kim.
4030
4031         Implemented scrollbarThickness to support opaque scrollbar.
4032         Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
4033         In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
4034         in ScrollbarThemeEfl.cpp.
4035
4036         No new tests, no behavior changes with default theme.
4037
4038         * platform/efl/RenderThemeEfl.cpp:
4039         (WebCore::RenderThemeEfl::loadTheme):
4040         Update thickness of scrollbar when theme was loaded.
4041         * platform/efl/ScrollbarThemeEfl.cpp:
4042         * platform/efl/ScrollbarThemeEfl.h:
4043         (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
4044         (WebCore::ScrollbarThemeEfl::scrollbarThickness):
4045         (WebCore::ScrollbarThemeEfl::registerScrollbar):
4046         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
4047
4048 2013-11-29  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
4049
4050         Remove Symbian specific code.
4051         https://bugs.webkit.org/show_bug.cgi?id=124939
4052