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