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