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