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