Avoid unnecessary copy-on-write in FillLayer style application.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-11-26  Andreas Kling  <akling@apple.com>
2
3         Avoid unnecessary copy-on-write in FillLayer style application.
4         <https://webkit.org/b/124878>
5
6         We ended up with a lot of cloned StyleBackgroundData objects on
7         HTML5-8266. This happened because we always forced a copy-on-write
8         when applying background-image:inherit / background-image:initial.
9
10         This patch adds early returns to both functions. In the "inherit"
11         case, we bail early if the target style already has the same fill
12         layer data as its parent style.
13
14         In the "initial" case, we optimize for the single-FillLayer case
15         and add an early return if the relevant value is either unset or
16         equal to the templatized initial value.
17
18         2.46 MB progression on HTML5-8266 locally.
19
20         Reviewed by Antti Koivisto.
21
22 2013-11-26  Antoine Quint  <graouts@apple.com>
23
24         Web Inspector: Allow showing a context menu on all mouse events.
25         https://bugs.webkit.org/show_bug.cgi?id=124747
26
27         Reviewed by Joseph Pecoraro.
28
29         Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
30         to let the inspector front-end dispatch a native contextmenu event that will allow
31         for a context menu to be shown from within a non-contextmenu event handler.
32
33         * inspector/InspectorFrontendHost.cpp:
34         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
35         Check that we're dealing with a mouse event, get the frame for the event target
36         and the event's location to call ContextMenuController::showContextMenuAt()
37         which will handle the new contextmenu event dispatch to the original event target.
38
39         * inspector/InspectorFrontendHost.h:
40         * inspector/InspectorFrontendHost.idl:
41
42 2013-11-25  Sam Weinig  <sam@webkit.org>
43
44         Convert some Shape code to use references
45         https://bugs.webkit.org/show_bug.cgi?id=124876
46
47         Reviewed by Andreas Kling.
48
49         * inspector/InspectorOverlay.cpp:
50         * rendering/FloatingObjects.cpp:
51         * rendering/LayoutState.cpp:
52         * rendering/RenderBlock.cpp:
53         * rendering/RenderBlock.h:
54         * rendering/RenderBlockLineLayout.cpp:
55         * rendering/RenderBox.cpp:
56         * rendering/RenderBox.h:
57         * rendering/line/BreakingContextInlineHeaders.h:
58         * rendering/line/LineWidth.cpp:
59         * rendering/shapes/ShapeInfo.cpp:
60         * rendering/shapes/ShapeInfo.h:
61         * rendering/shapes/ShapeInsideInfo.cpp:
62         * rendering/shapes/ShapeInsideInfo.h:
63         * rendering/shapes/ShapeOutsideInfo.cpp:
64         * rendering/shapes/ShapeOutsideInfo.h:
65         Replace yet more pointers with references.
66
67 2013-11-25  Simon Pena  <simon.pena@samsung.com>
68
69         [EFL] X11Helper::createPixmap doesn't initialise out value handleId
70         https://bugs.webkit.org/show_bug.cgi?id=124722
71
72         Reviewed by Gyuyoung Kim.
73
74         The overloaded functions X11Helper::createPixmap don't initialise out
75         value handleId, and they do early returns on error situations. Since
76         the functions are void and they don't communicate their failure in any
77         way, returning an out value without initialising it could make the
78         error go farther unnoticed. With the variable being initialised, it can
79         be reliably checked for errors when the function returns.
80
81         * platform/graphics/surfaces/glx/X11Helper.cpp:
82         (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
83
84 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
85
86         Mark URLRegistry's lookup() as const and its child classes as final
87         https://bugs.webkit.org/show_bug.cgi?id=124865
88
89         Reviewed by Eric Carlson.
90
91         No new tests needed. No behavior changes.
92
93         * Modules/mediasource/MediaSourceRegistry.cpp:
94         (WebCore::MediaSourceRegistry::lookup): marked as const.
95         * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
96         marked as final.
97         * Modules/mediastream/MediaStreamRegistry.cpp:
98         (WebCore::MediaStreamRegistry::lookup): marked as const.
99         * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
100         marked as final.
101         * fileapi/Blob.cpp:
102         * html/URLRegistry.h: lookup() marked as const.
103         (WebCore::URLRegistry::lookup): marked as const.
104
105 2013-11-25  Sergio Correia  <sergio.correia@openbossa.org>
106
107         [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
108         https://bugs.webkit.org/show_bug.cgi?id=124858
109
110         Reviewed by Eric Carlson.
111
112         Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
113         now targeting mediastream-related code.
114
115         No new tests, covered by existing ones.
116
117         * Modules/mediastream/RTCDTMFSender.cpp:
118         * Modules/mediastream/RTCDTMFSender.h:
119         * Modules/mediastream/RTCDataChannel.cpp:
120         * Modules/mediastream/RTCDataChannel.h:
121         * Modules/mediastream/RTCPeerConnection.cpp:
122         * Modules/mediastream/RTCPeerConnection.h:
123         * platform/mediastream/MediaStreamSource.cpp:
124         * platform/mediastream/RTCPeerConnectionHandler.cpp:
125         * platform/mediastream/RTCPeerConnectionHandler.h:
126         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
127         * platform/mock/RTCNotifiersMock.cpp:
128         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
129         * platform/mock/RTCPeerConnectionHandlerMock.h:
130
131 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
132
133         MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
134         https://bugs.webkit.org/show_bug.cgi?id=124860
135
136         Reviewed by Eric Carlson.
137
138         MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
139
140         No new tests needed. No behavior changes.
141
142         * Modules/mediastream/MediaStreamRegistry.cpp:
143         (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
144         (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
145         (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
146         new method MediaStream::lookupMediaStreamPrivate().
147         * Modules/mediastream/MediaStreamRegistry.h:
148         * html/HTMLMediaElement.cpp:
149         (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
150
151 2013-11-25  peavo@outlook.com  <peavo@outlook.com>
152
153         [WinCairo] Compile fails when GSTREAMER is not used.
154         https://bugs.webkit.org/show_bug.cgi?id=124853
155
156         Reviewed by Philippe Normand.
157
158         * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
159
160 2013-11-25  Andreas Kling  <akling@apple.com>
161
162         Deduplicate shortish Text node strings during tree construction.
163         <https://webkit.org/b/124855>
164
165         Let HTMLConstructionSite keep a hash set of already seen strings over
166         its lifetime. Use this to deduplicate the strings inside Text nodes
167         for any string up to 64 characters of length.
168
169         This optimization already sort-of existed for whitespace-only Texts,
170         but those are laundered in the AtomicString table which we definitely
171         don't want to pollute with every single Text. It might be a good idea
172         to stop using the AtomicString table for all-whitespace Text too.
173
174         3.82 MB progression on HTML5-8266 locally.
175
176         Reviewed by Anders Carlsson.
177
178 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
179
180         Remove unnecessary MediaStreamTrackDescriptor forward declaration
181         https://bugs.webkit.org/show_bug.cgi?id=124854
182
183         Reviewed by Eric Carlson.
184
185         No new tests needed. No behavior changed.
186
187         * Modules/mediastream/VideoStreamTrack.h:
188
189 2013-11-25  Robert Hogan  <robert@webkit.org>
190
191         Remove code now unnecessary after r159575
192         https://bugs.webkit.org/show_bug.cgi?id=124809
193
194         Reviewed by Antti Koivisto.
195
196         Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
197
198         * rendering/line/LineBreaker.cpp:
199         (WebCore::LineBreaker::skipLeadingWhitespace):
200
201 2013-11-25  Laszlo Vidacs  <lac@inf.u-szeged.hu>
202
203         Vertical border spacing is doubled between table row groups
204         https://bugs.webkit.org/show_bug.cgi?id=20040
205
206         Reviewed by Csaba Osztrogonác.
207
208         Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
209
210         Rebaseline needed for table related tests (100+).
211
212         * rendering/RenderTableSection.cpp:
213         (WebCore::RenderTableSection::calcRowLogicalHeight):
214
215 2013-11-25  Andres Gomez  <agomez@igalia.com>
216
217         [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
218         https://bugs.webkit.org/show_bug.cgi?id=85994
219
220         Reviewed by Philippe Normand.
221
222         Based on the patch written by Andre Moreira Magalhaes.
223
224         When the GStreamer web source was doing a "Range" request we were
225         expecting to receive a 206 status reply with the "Content-Range"
226         header and just the requested data. Supporting "Range" requests is
227         not mandatory so, for the servers not supporting it they will be
228         replying with a 200 status and the whole content of the media
229         element. Now, we are properly handling these replies too.
230
231         Test: http/tests/media/media-seeking-no-ranges-server.html
232
233         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
234         (StreamingClient::handleResponseReceived): Do not fail when
235         receiving 200 as response for HTTP range requests.
236         (StreamingClient::handleDataReceived): Manually seek on stream
237         when receiving the full data after a seek.
238
239 2013-11-25  Radu Stavila  <stavila@adobe.com>
240
241         Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
242         https://bugs.webkit.org/show_bug.cgi?id=124833
243
244         Reviewed by Mihnea Ovidenie.
245
246         * rendering/RenderRegion.cpp:
247         (WebCore::RenderRegion::layoutBlock):
248
249 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
250
251         [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
252         https://bugs.webkit.org/show_bug.cgi?id=123995
253
254         Reviewed by Dean Jackson.
255
256         From Blink r158228 by <jchaffraix@chromium.org>
257
258         Laying-out the grid items means a lot of calls to
259         distributeSpaceToTracks() and
260         resolveContentBasedTrackSizingFunctionsForItems() as they're
261         called in a loop. This means that there is a lot of malloc/free
262         going on there. By moving the vectors used by these methods to a
263         new class which is kept during the whole layout process we save a
264         lot of those calls.
265
266         This obviously mean that the price we pay for a significant
267         perfomance improvement is that we keep the maximum allocation till
268         the end of each layout, but it's an amount of memory that we have
269         to allocate anyway. The improvement in the
270         auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
271         runs/s).
272
273         No new tests required as we're just refactoring code to a new
274         helper class. Nevertheless the performance improvement is backed
275         by the perf test mentioned above.
276
277         * rendering/RenderGrid.cpp:
278         (WebCore::RenderGrid::GridSizingData::GridSizingData):
279         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
280         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
281         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
282         (WebCore::RenderGrid::distributeSpaceToTracks):
283         (WebCore::RenderGrid::layoutGridItems):
284         (WebCore::RenderGrid::findChildLogicalPosition):
285         * rendering/RenderGrid.h:
286
287 2013-11-24  Brady Eidson  <beidson@apple.com>
288
289         DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
290         https://bugs.webkit.org/show_bug.cgi?id=124819
291
292         Reviewed by Dan Bernstein.
293
294         * Modules/indexeddb/IDBDatabaseBackend.cpp:
295         (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
296
297 2013-11-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
298
299         Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
300         https://bugs.webkit.org/show_bug.cgi?id=124707
301
302         Reviewed by Darin Adler.
303
304         As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
305         Besides this patch cleans up remaining static_cast<> usage.
306
307         No new tests, no behavior changes.
308
309         * css/StyleResolver.cpp:
310         (WebCore::StyleResolver::State::initElement):
311         (WebCore::StyleResolver::locateCousinList):
312         (WebCore::StyleResolver::findSiblingForStyleSharing):
313         * dom/Attr.cpp:
314         (WebCore::Attr::style):
315         * dom/Element.cpp:
316         (WebCore::Element::removeAttribute):
317         * editing/ApplyStyleCommand.cpp:
318         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
319         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
320         * editing/EditingStyle.cpp:
321         (WebCore::EditingStyle::wrappingStyleForSerialization):
322         * editing/Editor.cpp:
323         (WebCore::Editor::applyEditingStyleToElement):
324         * editing/ReplaceSelectionCommand.cpp:
325         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
326         * html/HTMLMarqueeElement.h:
327         * html/HTMLOListElement.h:
328         * html/HTMLTagNames.in:
329         * inspector/InspectorCSSAgent.cpp:
330         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
331         * inspector/InspectorOverlay.cpp:
332         (WebCore::buildObjectForElementInfo):
333         * page/PageSerializer.cpp:
334         (WebCore::PageSerializer::serializeFrame):
335         * rendering/RenderCounter.cpp:
336         (WebCore::planCounter):
337         * rendering/RenderLayer.cpp:
338         (WebCore::RenderLayer::resize):
339         * rendering/RenderListItem.cpp:
340         (WebCore::RenderListItem::calcValue):
341         (WebCore::RenderListItem::updateListMarkerNumbers):
342         * rendering/RenderMarquee.cpp:
343         (WebCore::RenderMarquee::marqueeSpeed):
344
345 2013-11-24  Tim Horton  <timothy_horton@apple.com>
346
347         REGRESSION (r156291): TileController tiles don't always repaint when they resize
348         https://bugs.webkit.org/show_bug.cgi?id=124796
349
350         Reviewed by Simon Fraser.
351
352         In removing platformCALayerDidCreateTiles, r156291 also removed
353         the call to setNeedsDisplay when tiles are resized, without
354         putting it somewhere else.
355
356         * platform/graphics/ca/mac/TileController.mm:
357         (WebCore::TileController::setNeedsDisplay):
358         Use hasStaleContent when invalidating a whole tile, just
359         like we do for partial tile repaints.
360
361         (WebCore::TileController::setTileNeedsDisplayInRect):
362         Mark hasStaleContent for any unparented layers, so they'll be painted
363         when they are reparented.
364
365         (WebCore::TileController::ensureTilesForRect):
366         Invalidate the whole tile when it changes size.
367
368 2013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
369
370         [GStreamer] Remove 0.10 codepath
371         https://bugs.webkit.org/show_bug.cgi?id=124534
372
373         Reviewed by Philippe Normand.
374
375         All GStreamer ports are using 1.0 now so we remove the 0.10
376         codepath.
377
378         * GNUmakefile.list.am:
379         * PlatformEfl.cmake:
380         * PlatformGTK.cmake:
381         * WebCore.vcxproj/WebCore.vcxproj:
382         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
383         GStreamerVersioning.
384         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
385         (onGStreamerWavparsePadAddedCallback): Removed.
386         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
387         Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
388         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
389         Replaced webkitGstPipelineGetBus.
390         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
391         (WebCore::copyGstreamerBuffersToAudioChannel):
392         (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
393         (WebCore::AudioFileReader::~AudioFileReader): Replaced
394         webkitGstPipelineGetBus and removed 0.10 codepath.
395         (WebCore::AudioFileReader::handleSample): Left as only codepath.
396         (WebCore::AudioFileReader::handleBuffer): Removed.
397         (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
398         codepath.
399         (WebCore::AudioFileReader::plugDeinterleave): Replaced
400         getGstAudioCaps.
401         (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
402         webkitGstPipelineGetBus.
403         (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
404         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
405         (getGStreamerMonoAudioCaps):
406         (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
407         (webkit_web_audio_src_class_init): Replaced
408         setGstElementClassMetadata.
409         (webkit_web_audio_src_init):
410         (webKitWebAudioSrcConstructed):
411         (webKitWebAudioSrcFinalize):
412         (webKitWebAudioSrcLoop): Removed 0.10 codepath.
413         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
414         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
415         Removed checks for 1.0 as it is the only codepath now.
416         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
417         (WTF::GstElement):
418         (WTF::GstPad):
419         (WTF::GstPadTemplate):
420         (WTF::GstTask):
421         (WTF::GstBus):
422         (WTF::GstElementFactory):
423         (WTF::adoptGRef): Replaced gstObjectIsFloating.
424         (WTF::refGRef): Replaced webkitGstObjectRefSink.
425         (WTF::GstTagList):
426         (WTF::GstSample): Removed checks for 1.0 as it is the only
427         codepath now.
428         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
429         for 1.0 as it is the only codepath now.
430         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
431         (WebCore::webkitGstGhostPadFromStaticTemplate):
432         (WebCore::getVideoSizeAndFormatFromCaps):
433         (WebCore::createGstBuffer):
434         (WebCore::createGstBufferForData):
435         (WebCore::getGstBufferDataPointer):
436         (WebCore::mapGstBuffer):
437         (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
438         to WebCore namespace.
439         * platform/graphics/gstreamer/GStreamerUtilities.h:
440         (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
441         and added to WebCore namespace.
442         * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
443         * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
444         * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
445         1.0 as it is the only codepath now.
446         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
447         (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
448         (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
449         the only codepath now.
450         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
451         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
452         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
453         Removed checks for 1.0 as it is the only codepath now.
454         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
455         (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
456         (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
457         for 1.0 as it is the only codepath now.
458         (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
459         gPlaybinName.
460         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
461         Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
462         (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
463         codepath.
464         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
465         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
466         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
467         Removed checks for 1.0 as it is the only codepath now.
468         (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
469         gPercentMax.
470         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
471         0.10 codepath.
472         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
473         Removed checks for 1.0 as it is the only codepath now.
474         (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
475         codepath.
476         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
477         gPlaybinName and webkitGstPipelineGetBus and removed checks for
478         1.0.
479         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
480         Removed checks for 1.0 as it is the only codepath now.
481         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
482         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
483         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
484         (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
485         codepath.
486         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
487         * platform/graphics/gstreamer/TextCombinerGStreamer.h:
488         * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
489         * platform/graphics/gstreamer/TextSinkGStreamer.h:
490         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
491         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
492         checks for 1.0 as it is the only codepath now.
493         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
494         (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
495         as createGstBuffer namespace.
496         (webkitVideoSinkSetCaps): Removed 0.10 codepath.
497         (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
498         is the only codepath now.
499         (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
500         (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
501         setGstElementClassMetadata.
502         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
503         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
504         Removed checks for 1.0 as it is the only codepath now.
505         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
506         (webkit_media_src_class_init): Replaced
507         setGstElementClassMetadata.
508         (webKitMediaSrcAddSrc): Added WebCore namespace to
509         webkitGstGhostPadFromStaticTemplate.
510         (MediaSourceClientGstreamer::didReceiveData): Added WebCore
511         namespace to createGstBufferForData.
512         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
513         Removed 0.10 codepath.
514         (webKitWebSrcQuery): Removed as it was 0.10 only.
515         (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
516         (webkit_web_src_init): Removed haveAppSrc27 private attribute and
517         0.10 codepath.
518         (webKitWebSrcStop): Removed checks for 1.0 as it is the only
519         codepath now.
520         (webKitWebSrcSetProperty):
521         (webKitWebSrcUriGetType):
522         (webKitWebSrcGetProtocols):
523         (webKitWebSrcGetUri):
524         (webKitWebSrcSetUri): Removed 0.10 codepath.
525         (StreamingClient::createReadBuffer): Removed checks for 1.0 and
526         replaced getGstBufferSize.
527         (StreamingClient::handleResponseReceived): Removed 0.10 codepath
528         and replaced notifyGstTagsOnPad.
529         (StreamingClient::handleDataReceived): Removed 0.10 codepath and
530         replaced setGstBufferSize and gst_buffer_get_size.
531
532 2013-11-22  Jer Noble  <jer.noble@apple.com>
533
534         [Mac] Can't drag full-screen video to another monitor
535         https://bugs.webkit.org/show_bug.cgi?id=124798
536
537         Reviewed by Geoffrey Garen.
538
539         Make full screen windows movable by default. Previously, we wanted non-movable full screen
540         windows since they were in the same space and were just placed atop non-full screen windows.
541         Now that all our supported Mac platforms have explicit full screen support, we can remove this
542         non-movable restriction.
543
544         * platform/mac/WebCoreFullScreenWindow.mm:
545         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
546
547 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
548
549         [Win] Clean up ColorSpace handling in Windows code
550         https://bugs.webkit.org/show_bug.cgi?id=124795
551
552         Reviewed by Tim Horton.
553
554         Functionality covered by existing fast/css/color test suite.
555
556         * platform/graphics/cg/GraphicsContextCG.cpp:
557         (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
558         handling sRGB correctly.
559         (WebCore::sRGBColorSpaceRef): Use new helper function.
560         * platform/graphics/win/FontCGWin.cpp:
561         (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
562         * platform/graphics/win/GraphicsContextCGWin.cpp:
563         (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
564         via the style to the constructor.
565
566 2013-11-22  Alexey Proskuryakov  <ap@apple.com>
567
568         WebCrypto algorithms should check that key algorithm matches
569         https://bugs.webkit.org/show_bug.cgi?id=123628
570
571         Reviewed by Anders Carlsson.
572
573         No change in behavior yet, because we have one algorithm per key class.
574         Will be tested once more algorithms are added.
575
576         * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
577
578         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
579         (WebCore::createRsaKeyParamsWithHash):
580         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
581         * bindings/js/JSCryptoKeySerializationJWK.cpp:
582         (WebCore::createRSAKeyParametersWithHash):
583         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
584         * crypto/CryptoAlgorithmParameters.h:
585         (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
586         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
587         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
588         Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
589         are in the same boat. Depending on where the spec goes, we might need to introduce
590         algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
591         least for now.
592
593         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
594         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
595         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
596         code, leaving type casting to cross-platform files.
597         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
598
599         * crypto/CryptoAlgorithmRegistry.h:
600         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
601         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
602         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
603         Reduce copy/pasting in registration code.
604
605         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
606         (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
607         (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
608         Maybe we'll find a way to autogenerate or eliminate it one day.
609         (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
610
611         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
612         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
613         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
614         (WebCore::CryptoAlgorithmHMAC::sign):
615         (WebCore::CryptoAlgorithmHMAC::verify):
616         * crypto/algorithms/CryptoAlgorithmHMAC.h:
617         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
618         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
619         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
620         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
621         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
622         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
623         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
624         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
625         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
626         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
627         (WebCore::CryptoAlgorithmHMAC::platformSign):
628         (WebCore::CryptoAlgorithmHMAC::platformVerify):
629         Same changes for all algorithms that have keys.
630
631 2013-11-22  Brendan Long  <b.long@cablelabs.com>
632
633         Fire "change" event on TextTrackList when a TextTrack's mode changes
634         https://bugs.webkit.org/show_bug.cgi?id=124789
635
636         Reviewed by Eric Carlson.
637
638         Since AudioTrackList and VideoTrackList already have this event, the
639         interesting bits are in TrackListBase::scheduleChangeEvent(), and we
640         just need to call it for TextTrackList changes.
641
642         Test: media/track/track-change-event.html
643
644         * html/HTMLMediaElement.cpp:
645         (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
646         * html/track/TextTrackList.idl: Add onchange event listener.
647
648 2013-11-22  Brendan Long  <b.long@cablelabs.com>
649
650         Add TextTrackList::getTrackById().
651         https://bugs.webkit.org/show_bug.cgi?id=124785
652
653         Reviewed by Eric Carlson.
654
655         Test: media/track/track-id.html
656
657         * html/track/TextTrackList.cpp: Add getTrackById()
658         (TextTrackList::getTrackById):
659         * html/track/TextTrackList.h: Same.
660         * html/track/TextTrackList.idl: Same.
661
662 2013-11-22  Hans Muller  <hmuller@adobe.com>
663
664         [CSS Shapes] When the <box> value is set, derive radii from border-radius
665         https://bugs.webkit.org/show_bug.cgi?id=124228
666
667         Reviewed by Dean Jackson.
668
669         Add support for BoxShape elliptical corners.
670
671         Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
672                fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
673
674         * platform/graphics/FloatRoundedRect.h:
675         (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
676         * rendering/shapes/BoxShape.cpp:
677         (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
678         * rendering/shapes/Shape.cpp:
679         (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
680         * rendering/shapes/Shape.h:
681         * rendering/shapes/ShapeInfo.cpp:
682         (WebCore::::computedShape): Pass style's rounded border to createShape().
683
684 2013-11-22  Andres Gomez  <agomez@igalia.com>
685
686         Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
687         https://bugs.webkit.org/show_bug.cgi?id=78735
688
689         Reviewed by Mario Sanchez Prada.
690
691         In a "Debug" build the CString.h header comes from another
692         indirect dependency. Now, we explicitly add this missing include.
693
694         * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
695         missing include.
696
697 2013-11-22  Robert Sipka  <sipka@inf.u-szeged.hu>
698
699         [curl] Fix of SSL certificate chain storage
700         https://bugs.webkit.org/show_bug.cgi?id=124768
701
702         Reviewed by Brent Fulgham.
703
704         Change the certificates storage type into ListHashSet
705         from HashSet to keep the chain order in each case.
706         This ensures that there is no difference between the stored
707         and the recieved certificate chain.
708
709         * platform/network/curl/SSLHandle.cpp:
710         (WebCore::allowsAnyHTTPSCertificateHosts):
711         (WebCore::sslIgnoreHTTPSCertificate):
712         (WebCore::pemData):
713         (WebCore::certVerifyCallback):
714
715 2013-11-22  Brent Fulgham  <bfulgham@apple.com>
716
717         [Win] Avoid deadlock when interacting with some AVFoundationCF content
718         <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
719
720         Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
721         which modify assets and make other changes, are required to happen on the main thread. This
722         patch enforces this requirement.
723
724         Reviewed by Eric Carlson.
725
726         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
727         (WebCore::NotificationCallbackData::NotificationCallbackData): Added
728         (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
729         sometimes happening on a background thread.
730         (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
731
732 2013-11-22  peavo@outlook.com  <peavo@outlook.com>
733
734         [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
735         https://bugs.webkit.org/show_bug.cgi?id=124773
736
737         Reviewed by Brent Fulgham.
738
739         * rendering/RenderView.cpp:
740         (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
741
742 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
743
744         [CSS Grid Layout] Improve content-sized track layout
745         https://bugs.webkit.org/show_bug.cgi?id=124408
746
747         Reviewed by Dean Jackson.
748
749         Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
750
751         From Blink r156122 & r157633 by <jchaffraix@chromium.org>
752
753         Added a couple of optimizations to speed up the layout of content
754         based tracks. The idea is to narrow down the conditions for
755         relayouting when the height of a grid area changes. We basically
756         just need to layout tracks with percentage heights as they're the
757         only ones that change.
758
759         A new performance test is attached to demonstrate the effect of
760         these optimizations. We get a ~1000% improvement on a i7 M620
761         going from 14.5 runs/s to 165 runs/s.
762
763         * rendering/RenderGrid.cpp:
764         (WebCore::RenderGrid::logicalContentHeightForChild):
765         (WebCore::RenderGrid::layoutGridItems):
766
767 2013-11-08  Sergio Villar Senin  <svillar@igalia.com>
768
769         [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
770         https://bugs.webkit.org/show_bug.cgi?id=124039
771
772         Reviewed by Dean Jackson.
773
774         The current code runs the content sized track sizing algorithm all
775         the time, which forces a layout even when the track is not
776         content-sized. This change improves the situation by applying two
777         optimizations. In the first one, we bail out the algorithm if we
778         detect that we don't need to run it. And by the second one we
779         reduce the amount of recomputations by only iterating over the
780         content sized tracks instead of all of them. Both changes follow
781         the ideas introduced in Blink r156028 and r156168 by
782         <jchaffraix@chromium.org>.
783
784         As we changed the way we iterate over children (we use the
785         GridIterator now) the way they're stored in the RenderGrid changes
786         too. If a item spans through several "cells" inside the grid, we
787         will have a reference to it on each of them.
788
789         These two changes account for a ~3200% improvement on a i7 M620 in
790         the test that accompanies this change (15.5 vs 520 run/s).
791
792         New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
793
794         * rendering/RenderGrid.cpp:
795         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
796         of content sized tracks and only iterate over them.
797         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
798         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
799         Early return if there are no tracks to pass to the algorithm.
800         * rendering/RenderGrid.h:
801         * rendering/style/GridLength.h:
802         (WebCore::GridLength::isContentSized):
803         * rendering/style/GridTrackSize.h:
804         (WebCore::GridTrackSize::isContentSized):
805
806 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
807
808         [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
809         https://bugs.webkit.org/show_bug.cgi?id=124743
810
811         Reviewed by Mihnea Ovidenie.
812
813         No new tests, covered by existing tests.
814
815         * rendering/RenderRegion.cpp:
816         (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
817         flippedFlowThreadPortionRect is not used before the early break, so we
818         can move it after and save some unneeded operations.
819
820 2013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
821
822         [CSS Regions] Use hasOverflowClip() in RenderRegion
823         https://bugs.webkit.org/show_bug.cgi?id=124746
824
825         Reviewed by Mihnea Ovidenie.
826
827         Implement the suggested FIXME in RenderRegion using hasOverflowClip().
828
829         No new tests, covered by existing tests.
830
831         * rendering/RenderRegion.cpp:
832         (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
833         hasOverflowClip().
834         (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
835
836 2013-11-21  Frédéric Wang  <fred.wang@free.fr>
837
838         Map the dir attribute to the CSS direction property.
839         https://bugs.webkit.org/show_bug.cgi?id=124572.
840
841         Reviewed by Darin Adler.
842
843         Test: mathml/presentation/mstyle-css-attributes.html
844
845         * mathml/MathMLElement.cpp:
846         (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
847         (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
848         (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
849         * mathml/MathMLElement.h:
850
851         Follow-up work to address Darin's comments.
852
853 2013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
854
855         Remove ENABLE_WORKERS
856         https://bugs.webkit.org/show_bug.cgi?id=105784
857
858         Reviewed by Darin Adler.
859
860 2013-11-21  Alex Christensen  <achristensen@webkit.org>
861
862         [Win] Unreviewed build fix after r159632.
863
864         * platform/network/curl/SSLHandle.cpp:
865         (WebCore::certVerifyCallback):
866         Fixed template syntax.
867
868 2013-11-21  Bear Travis  <betravis@adobe.com>
869
870         Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
871         https://bugs.webkit.org/show_bug.cgi?id=124737
872
873         Reviewed by Timothy Hatcher.
874
875         Add a virtual method to Shapes, buildPath, that can be used to build the
876         path (in the Shape coordinate system) for display in the Inspector. This allows us
877         to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
878         inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
879
880         Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
881
882         * inspector/InspectorOverlay.cpp:
883         (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
884         to renderer space using ShapeInfo.
885         (WebCore::buildObjectForShapeOutside): Add the ShapeOutsideInfo to the path info struct.
886         * rendering/shapes/BoxShape.cpp:
887         (WebCore::BoxShape::buildPath): Build the path for a BoxShape.
888         * rendering/shapes/BoxShape.h:
889         * rendering/shapes/PolygonShape.cpp:
890         (WebCore::PolygonShape::buildPath): Build the path for a PolygonShape.
891         * rendering/shapes/PolygonShape.h:
892         * rendering/shapes/RasterShape.h:
893         * rendering/shapes/RectangleShape.cpp:
894         (WebCore::RectangleShape::buildPath): Build the path for a RectangleShape.
895         * rendering/shapes/RectangleShape.h:
896         * rendering/shapes/Shape.h:
897
898 2013-11-21  Mark Rowe  <mrowe@apple.com>
899
900         <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
901
902         All modern versions of Xcode set it appropriately for our needs.
903
904         Reviewed by Alexey Proskuryakov.
905
906         * Configurations/Base.xcconfig:
907
908 2013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>
909
910         [GTK] Unreviewed buildfix after r159614 and r159656.
911
912         * bindings/gobject/WebKitDOMCustom.cpp: Add missing header
913
914 2013-11-21  Laszlo Vidacs  <lac@inf.u-szeged.hu>
915
916         Fix WinCairo unreachable code warnings in SimpleLineLayout.cpp
917         https://bugs.webkit.org/show_bug.cgi?id=124704
918
919         Reviewed by Antti Koivisto.
920
921         Fix unreachable code warnings using conditional directives.
922
923         * rendering/SimpleLineLayout.cpp:
924         (WebCore::SimpleLineLayout::canUseFor):
925
926 2013-11-21  Mark Rowe  <mrowe@apple.com>
927
928         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
929
930         Reviewed by Alexey Proskuryakov.
931
932         * Configurations/Base.xcconfig:
933
934 2013-11-21  Mark Rowe  <mrowe@apple.com>
935
936         <https://webkit.org/b/124700> Fix some deprecation warnings.
937
938         Reviewed by Anders Carlsson.
939
940         * platform/mac/HTMLConverter.mm:
941         (fileWrapperForURL): Move off a deprecated NSFileWrapper method.
942
943 2013-11-21  Daniel Bates  <dabates@apple.com>
944
945         [iOS] Build fix; export symbol for WebCore::provideDeviceOrientationTo()
946
947         Add the symbol __ZN7WebCore26provideDeviceOrientationToEPNS_4PageEPNS_23DeviceOrientationClientE.
948
949         * WebCore.exp.in:
950
951 2013-11-21  Daniel Bates  <dabates@apple.com>
952
953         Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard
954         https://bugs.webkit.org/show_bug.cgi?id=124741
955
956         Reviewed by Alexey Proskuryakov.
957
958         Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard around code that is unused
959         when building with feature NETWORK_CFDATA_ARRAY_CALLBACK.
960
961         Additionally, add a declaration for allocateSegment() with attribute WARN_UNUSED_RETURN
962         to have the compiler warn when the return value of this function is unused. Together with
963         warnings treated as errors this change will prevent a memory leak.
964
965         * platform/SharedBuffer.cpp:
966
967 2013-11-21  Daniel Bates  <dabates@apple.com>
968
969         Remove unused functions from WebCore and WebKit2
970         https://bugs.webkit.org/show_bug.cgi?id=124739
971
972         Reviewed by Alexey Proskuryakov.
973
974         * editing/markup.cpp: Remove unused functions isHTMLBlockElement and
975         ancestorToRetainStructureAndAppearanceWithNoRenderer.
976         * rendering/InlineElementBox.cpp: Append newline to the end of the file.
977
978 2013-11-21  Daniel Bates  <dabates@apple.com>
979
980         Only generate isObservable() when IDL specifies GenerateIsReachable
981         https://bugs.webkit.org/show_bug.cgi?id=124729
982
983         Reviewed by Geoffrey Garen.
984
985         We should only generate the static inline function isObservable() when the IDL
986         specifies GenerateIsReachable. Otherwise, this function is unused.
987
988         Added a new test IDL TestGenerateIsReachable.idl and expected results to test that
989         we generate isObservable() when an IDL specifies GenerateIsReachable. Additionally,
990         rebased existing test results.
991
992         * bindings/scripts/CodeGeneratorJS.pm:
993         (GenerateImplementation):
994         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Added.
995         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Added.
996         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp: Added.
997         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h: Added.
998         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachablePrivate.h: Added.
999         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Removed unused function isObservable().
1000         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
1001         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
1002         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
1003         * bindings/scripts/test/JS/JSTestException.cpp: Ditto.
1004         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added.
1005         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added.
1006         * bindings/scripts/test/JS/JSTestInterface.cpp: Removed unused function isObservable().
1007         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
1008         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
1009         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1010         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
1011         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
1012         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
1013         * bindings/scripts/test/JS/JSattribute.cpp: Ditto.
1014         * bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
1015         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Added.
1016         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Added.
1017         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Added.
1018         * bindings/scripts/test/TestGenerateIsReachable.idl: Added.
1019
1020 2013-11-21  Beth Dakin  <bdakin@apple.com>
1021
1022         Add a new mode to extend the tile cache beyond the page
1023         https://bugs.webkit.org/show_bug.cgi?id=124216
1024
1025         Reviewed by Simon Fraser.
1026
1027         This patch makes it possible to give the tile cache a margin of tiles. If there is 
1028         a margin of tiles, this patch paints those tiles with the background color. Note 
1029         that this patch does not actually give the tile cache a margin at this time.
1030
1031         You opt into a margined tiled cache by called setTileMargins() with number of 
1032         pixels that the margin on that side should be. 
1033         * platform/graphics/TiledBacking.h:
1034         * platform/graphics/ca/mac/TileController.h:
1035         * platform/graphics/ca/mac/TileController.mm:
1036         (WebCore::TileController::TileController):
1037         (WebCore::TileController::tilesWouldChangeForVisibleRect):
1038
1039         TileController::bounds() now computes the bounds INCLUDING the margin.
1040         (WebCore::TileController::bounds):
1041
1042         adjustRectAtTileIndexForMargin() is a new function that is required to get the 
1043         rect size for tiles in the margin right. rectForTileIndex() assumes all tiles 
1044         strive to be the size of m_tileSize, but now margin tiles will be whatever the 
1045         margin sizes were set to.
1046         (WebCore::TileController::adjustRectAtTileIndexForMargin):
1047         (WebCore::TileController::rectForTileIndex):
1048
1049         This is another instance where m_tileSize is not always the right size to use.
1050         (WebCore::TileController::getTileIndexRangeForRect):
1051
1052         The tile coverage rect now might include the margin tiles. Only include them in 
1053         slow-scrolling mode if the current position is within one tile of the edge.
1054         (WebCore::TileController::computeTileCoverageRect):
1055
1056         tileSizeForCoverageRect() does not make sense in a world where the coverage rect 
1057         will include margin. Instead, this patch implements the current strategy more 
1058         explicitly by returning the visibleRect in the slow scrolling case, and in the 
1059         process this patch also re-names tileSizeForCoverageRect() to computeTileSize() 
1060         since it no longer takes a coverageRect.
1061         (WebCore::TileController::computeTileSize):
1062         (WebCore::TileController::revalidateTiles):
1063
1064         New setters and getters for the tile margins on each side.
1065         (WebCore::TileController::setTileMargins):
1066         (WebCore::TileController::hasMargins):
1067         (WebCore::TileController::topMarginHeight):
1068         (WebCore::TileController::bottomMarginHeight):
1069         (WebCore::TileController::leftMarginWidth):
1070         (WebCore::TileController::rightMarginWidth):
1071
1072         New function to add margin onto the composited bounds if there is one.
1073         * rendering/RenderLayerBacking.cpp:
1074         (WebCore::RenderLayerBacking::tiledBackingHasMargin):
1075         (WebCore::RenderLayerBacking::paintContents):
1076         (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
1077         * rendering/RenderLayerBacking.h:
1078
1079         Do not set masks to bounds if there is a margin on the root layer.
1080         * rendering/RenderLayerCompositor.cpp:
1081         (WebCore::RenderLayerCompositor::updateBacking):
1082         (WebCore::RenderLayerCompositor::mainFrameBackingIsTiledWithMargin):
1083         * rendering/RenderLayerCompositor.h:
1084
1085         Allow background color to paint into the margin tiles.
1086         * rendering/RenderView.cpp:
1087         (WebCore::RenderView::paintBoxDecorations):
1088
1089 2013-11-21  Alexey Proskuryakov  <ap@apple.com>
1090
1091         Implement WebCrypto wrapKey
1092         https://bugs.webkit.org/show_bug.cgi?id=124738
1093
1094         Reviewed by Anders Carlsson.
1095
1096         Tests: crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html
1097                crypto/subtle/aes-cbc-wrap-rsa.html
1098
1099         * bindings/js/JSSubtleCryptoCustom.cpp:
1100         (WebCore::exportKey): Factored out the actual operation that can be chained with
1101         encryption for wrapKey.
1102         (WebCore::JSSubtleCrypto::exportKey):
1103         (WebCore::JSSubtleCrypto::wrapKey):
1104         (WebCore::JSSubtleCrypto::unwrapKey): Fixed a memory leak in failure code path.
1105
1106         * crypto/SubtleCrypto.idl: Added wrapKey.
1107
1108 2013-11-21  Alexey Proskuryakov  <ap@apple.com>
1109
1110         Implement WebCrypto unwrapKey
1111         https://bugs.webkit.org/show_bug.cgi?id=124725
1112
1113         Reviewed by Anders Carlsson.
1114
1115         Tests: crypto/subtle/aes-cbc-unwrap-failure.html
1116                crypto/subtle/aes-cbc-unwrap-rsa.html
1117
1118         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1119         * bindings/js/JSCryptoAlgorithmDictionary.h:
1120         Removed calls for wrap/unwrap parameter parsing, these are just the same as encrypt/decrypt.
1121
1122         * bindings/js/JSCryptoOperationData.cpp:
1123         (WebCore::cryptoOperationDataFromJSValue):
1124         * bindings/js/JSCryptoOperationData.h:
1125         * crypto/CryptoKeySerialization.h:
1126         More Vector<char> elimination.
1127
1128         * bindings/js/JSDOMPromise.cpp:
1129         * bindings/js/JSDOMPromise.h:
1130         Removed unneccessary copy constructor and assignment operator, they are no diffdrent
1131         than compiler generated ones.
1132
1133         * bindings/js/JSSubtleCryptoCustom.cpp:
1134         (WebCore::cryptoKeyUsagesFromJSValue): Minor style fixes.
1135         (WebCore::JSSubtleCrypto::encrypt): Ditto.
1136         (WebCore::JSSubtleCrypto::decrypt): Ditto.
1137         (WebCore::JSSubtleCrypto::sign): Ditto.
1138         (WebCore::JSSubtleCrypto::verify): Ditto.
1139         (WebCore::JSSubtleCrypto::generateKey): Ditto.
1140         (WebCore::importKey): Separated actual import operation and the parts that read
1141         arguments from ExecState, and call the promise. Logically, this should be outside
1142         of bindings code even, but JWK makes that quite challenging.
1143         (WebCore::JSSubtleCrypto::importKey): This only does the more mundane arguments
1144         and return parts now.
1145         (WebCore::JSSubtleCrypto::exportKey): Minor style fixes.
1146         (WebCore::JSSubtleCrypto::unwrapKey): Chain decrypt and import.
1147
1148         * crypto/CryptoAlgorithm.cpp:
1149         (WebCore::CryptoAlgorithm::encryptForWrapKey):
1150         (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
1151         * crypto/CryptoAlgorithm.h:
1152         There are algorithms that expose wrap/unwrap, but not encrypt/decrypt. These will
1153         override these new functions, and leave encrypt/decrypt to raise NOT_SUPPORTED_ERR.
1154
1155         * crypto/SubtleCrypto.idl: Added unwrapKey.
1156
1157 2013-11-21  Robert Sipka  <sipka@inf.u-szeged.hu>
1158
1159         [curl]Improve ssl certificate storage and check
1160         https://bugs.webkit.org/show_bug.cgi?id=124569
1161
1162         Reviewed by Brent Fulgham.
1163
1164         Storage and check the whole certificate chain, not just the root certificate.
1165
1166         * platform/network/curl/SSLHandle.cpp:
1167         (WebCore::allowsAnyHTTPSCertificateHosts):
1168         (WebCore::sslIgnoreHTTPSCertificate):
1169         (WebCore::pemData):
1170         (WebCore::certVerifyCallback):
1171
1172 2013-11-21  Mihai Maerean  <mmaerean@adobe.com>
1173
1174         Fix hover area for divs with css transforms
1175         https://bugs.webkit.org/show_bug.cgi?id=124647
1176
1177         Reviewed by Allan Sandfeld Jensen.
1178
1179         Non transformed layers are now being hit last, not through or in-between transformed layers.
1180         The paint order says that the divs creating stacking contexts (including transforms) are painted after the
1181         other siblings so they should be hit tested in the reverse order. Also, a rotated div in a non-rotated parent
1182         should be hit in its entire area, not hit its parent's background, even if the z-coordinate is negative where
1183         the mouse is located.
1184
1185         Test: transforms/3d/hit-testing/hover-rotated-negative-z.html
1186
1187         * rendering/RenderLayer.cpp:
1188         (WebCore::computeZOffset):
1189
1190 2013-11-21  Andres Gomez  <agomez@igalia.com>
1191
1192         [GTK] Release compilation fails when defining "LOG_DISABLED=0"
1193         https://bugs.webkit.org/show_bug.cgi?id=124661
1194
1195         Reviewed by Mario Sanchez Prada.
1196
1197         In a "Debug" build the CString.h header comes from another
1198         indirect dependency. Now, we explicitly add this missing include.
1199
1200         * html/HTMLTrackElement.cpp: Explicitly adding missing include.
1201
1202 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1203
1204         Fix Range.insertNode when the inserted node is in the same container as the Range
1205         https://bugs.webkit.org/show_bug.cgi?id=123957
1206
1207         Reviewed by Antti Koivisto.
1208
1209         Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
1210
1211         When a node from the same container is inserted, we can't simply adjust m_end with the offset.
1212         Compute m_start and m_end from the inserted nodes instead.
1213
1214         Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
1215         removed by mutation events.
1216
1217         Test: fast/dom/Range/range-insertNode-same-container.html
1218
1219         * dom/Range.cpp:
1220         (WebCore::Range::insertNode):
1221
1222 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1223
1224         nextBoundary and previousBoundary are very slow when there is a password field
1225         https://bugs.webkit.org/show_bug.cgi?id=123973
1226
1227         Reviewed by Antti Koivisto.
1228
1229         Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
1230
1231         When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
1232         text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
1233         may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
1234         node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
1235         the text iterator to continue iterating and transforming until the extent of the document.
1236
1237         Test: editing/deleting/password-delete-performance.html
1238
1239         * editing/TextIterator.h:
1240         (WebCore::SimplifiedBackwardsTextIterator::node):
1241         * editing/VisibleUnits.cpp:
1242         (WebCore::previousBoundary):
1243         (WebCore::nextBoundary):
1244
1245 2013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1246
1247         HTML parser should not associate elements inside templates with forms
1248         https://bugs.webkit.org/show_bug.cgi?id=117779
1249
1250         Reviewed by Antti Koivisto.
1251
1252         Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
1253
1254         When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
1255         even though they're not in the same tree (or even the same document).
1256
1257         This patch changes that by checking, prior to creating a form control element, whether the element to be
1258         created lives in a document with a browsing context.
1259
1260         We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
1261         http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
1262         and its algorithm for creating and inserting nodes:
1263         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
1264
1265         While this leaves isindex's reference to form element pointer stale:
1266         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
1267         The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
1268
1269         Test: fast/dom/HTMLTemplateElement/no-form-association.html
1270
1271         * html/parser/HTMLConstructionSite.cpp:
1272         (WebCore::HTMLConstructionSite::createHTMLElement):
1273
1274 2013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1275
1276         [GTK] Cannot scroll in option menu when it larger than the screen
1277         https://bugs.webkit.org/show_bug.cgi?id=124671
1278
1279         Reviewed by Martin Robinson.
1280
1281         The problem is that the popup menu is not resized to fit in the
1282         screen, so it doesn't scroll and some of the items are offscreen
1283         so they can't be selected either. GTK+ automatically resizes the
1284         popup menus to fit in the work area, but only when the menu is
1285         already positioned.
1286
1287         * platform/gtk/GtkPopupMenu.cpp:
1288         (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
1289         menu right after showing it once it has a position.
1290
1291 2013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1292
1293         [GTK] Mark all deprecated symbols in GObject DOM bindings
1294         https://bugs.webkit.org/show_bug.cgi?id=124406
1295
1296         Reviewed by Gustavo Noronha Silva.
1297
1298         Move deprecated API from WebKitDOMCustom to a new file
1299         WebKitDOMDeprecated leaving in WebKitDOMCustom only the
1300         non-deprecated API that is not autogenerated. Also added the
1301         deprecation decorations and tags in the documentation.
1302
1303         * bindings/gobject/GNUmakefile.am:
1304         * bindings/gobject/WebKitDOMCustom.cpp:
1305         * bindings/gobject/WebKitDOMCustom.h:
1306         * bindings/gobject/WebKitDOMCustom.symbols:
1307         * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
1308         (webkit_dom_blob_webkit_slice):
1309         (webkit_dom_html_element_get_id):
1310         (webkit_dom_html_element_set_id):
1311         (webkit_dom_html_element_get_class_name):
1312         (webkit_dom_html_element_set_class_name):
1313         (webkit_dom_html_element_get_class_list):
1314         (webkit_dom_html_form_element_dispatch_form_change):
1315         (webkit_dom_html_form_element_dispatch_form_input):
1316         (webkit_dom_webkit_named_flow_get_overflow):
1317         (webkit_dom_element_get_webkit_region_overflow):
1318         (webkit_dom_webkit_named_flow_get_content_nodes):
1319         (webkit_dom_webkit_named_flow_get_regions_by_content_node):
1320         (webkit_dom_bar_info_get_property):
1321         (webkit_dom_bar_info_class_init):
1322         (webkit_dom_bar_info_init):
1323         (webkit_dom_bar_info_get_visible):
1324         (webkit_dom_console_get_memory):
1325         (webkit_dom_css_style_declaration_get_property_css_value):
1326         (webkit_dom_document_get_webkit_hidden):
1327         (webkit_dom_document_get_webkit_visibility_state):
1328         (webkit_dom_html_document_open):
1329         (webkit_dom_html_element_set_item_id):
1330         (webkit_dom_html_element_get_item_id):
1331         (webkit_dom_html_element_get_item_ref):
1332         (webkit_dom_html_element_get_item_prop):
1333         (webkit_dom_html_element_set_item_scope):
1334         (webkit_dom_html_element_get_item_scope):
1335         (webkit_dom_html_element_get_item_type):
1336         (webkit_dom_html_style_element_set_scoped):
1337         (webkit_dom_html_style_element_get_scoped):
1338         (webkit_dom_html_properties_collection_get_property):
1339         (webkit_dom_html_properties_collection_class_init):
1340         (webkit_dom_html_properties_collection_init):
1341         (webkit_dom_html_properties_collection_item):
1342         (webkit_dom_html_properties_collection_named_item):
1343         (webkit_dom_html_properties_collection_get_length):
1344         (webkit_dom_html_properties_collection_get_names):
1345         (webkit_dom_node_get_attributes):
1346         (webkit_dom_node_has_attributes):
1347         (webkit_dom_memory_info_get_property):
1348         (webkit_dom_memory_info_class_init):
1349         (webkit_dom_memory_info_init):
1350         (webkit_dom_memory_info_get_total_js_heap_size):
1351         (webkit_dom_memory_info_get_used_js_heap_size):
1352         (webkit_dom_memory_info_get_js_heap_size_limit):
1353         (webkit_dom_micro_data_item_value_class_init):
1354         (webkit_dom_micro_data_item_value_init):
1355         (webkit_dom_performance_get_memory):
1356         (webkit_dom_property_node_list_get_property):
1357         (webkit_dom_property_node_list_class_init):
1358         (webkit_dom_property_node_list_init):
1359         (webkit_dom_property_node_list_item):
1360         (webkit_dom_property_node_list_get_length):
1361         (webkit_dom_html_media_element_get_start_time):
1362         (webkit_dom_html_media_element_get_initial_time):
1363         (webkit_dom_html_head_element_get_profile):
1364         (webkit_dom_html_head_element_set_profile):
1365         (webkit_dom_processing_instruction_get_data):
1366         (webkit_dom_processing_instruction_set_data):
1367         * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
1368         * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
1369         * bindings/scripts/CodeGeneratorGObject.pm:
1370         (GenerateFunction): Do not include deprecation guards in the cpp file.
1371         * bindings/scripts/gobject-generate-headers.pl: Do not create
1372         fordward declarations for non-existent classes like Custom and
1373         Deprecated.
1374         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1375         (webkit_dom_test_event_target_dispatch_event):
1376
1377 2013-11-20  Jae Hyun Park  <jae.park@company100.net>
1378
1379         [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
1380         https://bugs.webkit.org/show_bug.cgi?id=124692
1381
1382         Reviewed by Noam Rosenthal.
1383
1384         No new tests, covered by existing ones.
1385
1386         * platform/graphics/TiledBackingStore.cpp:
1387         (WebCore::TiledBackingStore::TiledBackingStore):
1388         * platform/graphics/TiledBackingStore.h:
1389         * platform/graphics/TiledBackingStoreBackend.h:
1390         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1391         (WebCore::CoordinatedGraphicsLayer::createBackingStore):
1392         * platform/graphics/texmap/coordinated/CoordinatedTile.h:
1393
1394 2013-11-20  Brady Eidson  <beidson@apple.com>
1395
1396         Add more infrastructure for ServerConnection communication between Web and Database processes
1397         https://bugs.webkit.org/show_bug.cgi?id=124693
1398
1399         Reviewed by Anders Carlsson.
1400
1401         * WebCore.exp.in:
1402
1403 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1404
1405         Hoist <template> to head when found between </head> and <body> for consistency with <script>
1406         https://bugs.webkit.org/show_bug.cgi?id=123949
1407
1408         Reviewed by Antti Koivisto.
1409
1410         Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
1411
1412         Move template elements between head and body elements into the head to be consistent with script elements.
1413         The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
1414
1415         Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
1416         and https://codereview.chromium.org/25900003 for clarity.
1417
1418         * html/parser/HTMLTreeBuilder.cpp:
1419         (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
1420         the head element.
1421         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1422
1423         Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
1424         with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
1425         only the html element on the stack of open elements.
1426
1427         For the second change, consider: <head></head><template>
1428
1429         This example breaks in the old HTML parser because the template element is handled by "after head" state which
1430         pushes the head element back on, processes the template element for "in head", then pops the head element off.
1431         EOF is reached, which processes a fake close tag for the template element, which pops the template element off
1432         and resets the insertion mode appropriately
1433
1434         The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
1435         is now the html element and it will set the mode to "before head". Nothing good happens after this.
1436
1437         We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
1438         head instead of before head.
1439
1440 2013-11-20  Radu Stavila  <stavila@adobe.com>
1441
1442         [CSS Regions] Implement visual overflow for first & last regions
1443         https://bugs.webkit.org/show_bug.cgi?id=118665
1444
1445         In order to properly propagate the visual overflow of elements flowed inside regions, 
1446         the responsiblity of painting and hit-testing content inside flow threads has been
1447         moved to the flow thread layer's level.
1448         Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
1449         structure, including one for the flow thread itself. This data is used during
1450         painting and hit-testing.
1451
1452         Reviewed by David Hyatt.
1453
1454         Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
1455                fast/regions/overflow-first-and-last-regions.html
1456                fast/regions/overflow-nested-regions.html
1457                fast/regions/overflow-region-float.html
1458                fast/regions/overflow-region-inline.html
1459                fast/regions/overflow-region-transform.html
1460
1461         * rendering/InlineFlowBox.cpp:
1462         (WebCore::InlineFlowBox::setLayoutOverflow):
1463         (WebCore::InlineFlowBox::setVisualOverflow):
1464         * rendering/InlineFlowBox.h:
1465         * rendering/RenderBlock.cpp:
1466         (WebCore::RenderBlock::addOverflowFromChildren):
1467         (WebCore::RenderBlock::paint):
1468         (WebCore::RenderBlock::paintObject):
1469         (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
1470         (WebCore::RenderBlock::updateRegionRangeForBoxChild):
1471         * rendering/RenderBlockFlow.cpp:
1472         (WebCore::RenderBlockFlow::hasNextPage):
1473         (WebCore::RenderBlockFlow::relayoutForPagination):
1474         * rendering/RenderBlockLineLayout.cpp:
1475         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
1476         * rendering/RenderBox.cpp:
1477         (WebCore::RenderBox::borderBoxRectInRegion):
1478         (WebCore::RenderBox::computeRectForRepaint):
1479         (WebCore::RenderBox::addLayoutOverflow):
1480         (WebCore::RenderBox::addVisualOverflow):
1481         (WebCore::RenderBox::isUnsplittableForPagination):
1482         (WebCore::RenderBox::overflowRectForPaintRejection):
1483         * rendering/RenderBox.h:
1484         (WebCore::RenderBox::canHaveOutsideRegionRange):
1485         * rendering/RenderBoxModelObject.cpp:
1486         (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
1487         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1488         * rendering/RenderBoxModelObject.h:
1489         * rendering/RenderBoxRegionInfo.h:
1490         (WebCore::RenderBoxRegionInfo::createOverflow):
1491         * rendering/RenderFlowThread.cpp:
1492         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
1493         (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
1494         (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
1495         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
1496         (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
1497         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
1498         (WebCore::RenderFlowThread::addRegionsVisualOverflow):
1499         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
1500         * rendering/RenderFlowThread.h:
1501         * rendering/RenderLayer.cpp:
1502         (WebCore::RenderLayer::updateLayerPositions):
1503         (WebCore::expandClipRectForRegionAndReflection):
1504         (WebCore::expandClipRectForDescendantsAndReflection):
1505         (WebCore::RenderLayer::paintLayer):
1506         (WebCore::RenderLayer::paintLayerContents):
1507         (WebCore::RenderLayer::updatePaintingInfoForFragments):
1508         (WebCore::RenderLayer::paintForegroundForFragments):
1509         (WebCore::RenderLayer::hitTest):
1510         (WebCore::RenderLayer::hitTestLayer):
1511         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
1512         (WebCore::RenderLayer::calculateClipRects):
1513         (WebCore::RenderLayer::parentClipRects):
1514         (WebCore::RenderLayer::calculateRects):
1515         (WebCore::RenderLayer::intersectsDamageRect):
1516         (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
1517         (WebCore::RenderLayer::repaintIncludingDescendants):
1518         (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
1519         (WebCore::RenderLayer::paintFlowThreadIfRegion):
1520         (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
1521         * rendering/RenderLayer.h:
1522         (WebCore::ClipRect::inflateX):
1523         (WebCore::ClipRect::inflateY):
1524         (WebCore::ClipRect::inflate):
1525         * rendering/RenderLayerCompositor.cpp:
1526         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1527         * rendering/RenderListItem.cpp:
1528         (WebCore::RenderListItem::addOverflowFromChildren):
1529         * rendering/RenderMultiColumnSet.cpp:
1530         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
1531         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
1532         * rendering/RenderMultiColumnSet.h:
1533         * rendering/RenderNamedFlowFragment.cpp:
1534         (WebCore::RenderNamedFlowFragment::createStyle):
1535         (WebCore::RenderNamedFlowFragment::namedFlowThread):
1536         * rendering/RenderNamedFlowFragment.h:
1537         * rendering/RenderOverflow.h:
1538         * rendering/RenderRegion.cpp:
1539         (WebCore::RenderRegion::flowThreadPortionOverflowRect):
1540         (WebCore::RenderRegion::flowThreadPortionLocation):
1541         (WebCore::RenderRegion::regionContainerLayer):
1542         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
1543         (WebCore::RenderRegion::computeOverflowFromFlowThread):
1544         (WebCore::RenderRegion::repaintFlowThreadContent):
1545         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
1546         (WebCore::RenderRegion::insertedIntoTree):
1547         (WebCore::RenderRegion::ensureOverflowForBox):
1548         (WebCore::RenderRegion::rectFlowPortionForBox):
1549         (WebCore::RenderRegion::addLayoutOverflowForBox):
1550         (WebCore::RenderRegion::addVisualOverflowForBox):
1551         (WebCore::RenderRegion::layoutOverflowRectForBox):
1552         (WebCore::RenderRegion::visualOverflowRectForBox):
1553         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
1554         * rendering/RenderRegion.h:
1555         * rendering/RenderReplaced.cpp:
1556         (WebCore::RenderReplaced::shouldPaint):
1557         * rendering/RootInlineBox.cpp:
1558         (WebCore::RootInlineBox::paint):
1559
1560 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1561
1562         [HTML parser] reset insertion mode appropriate must check for "in select in table" mode
1563         https://bugs.webkit.org/show_bug.cgi?id=123850
1564
1565         Reviewed by Antti Koivisto.
1566
1567         Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7
1568
1569         The HTML specification has been updated to detect encountering a template element inside of a select element,
1570         which in turn is inside of a table element. In this case, the select element will cause the parser to be in
1571         "InSelectInTable" mode. Thus when the template element closes, it should return to that mode.
1572
1573         The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
1574         select element to see whether the select element is inside of a table element.
1575
1576         See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
1577
1578         Test: html5lib/resources/template.dat
1579
1580         * html/parser/HTMLTreeBuilder.cpp:
1581         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1582
1583 2013-11-20  Mark Lam  <mark.lam@apple.com>
1584
1585         Build fix for last commit.
1586         https://bugs.webkit.org/show_bug.cgi?id=124634.
1587
1588         Not reviewed.
1589
1590         No new tests.
1591
1592         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1593
1594 2013-11-20  Mark Lam  <mark.lam@apple.com>
1595
1596         Introducing VMEntryScope to update the VM stack limit.
1597         https://bugs.webkit.org/show_bug.cgi?id=124634.
1598
1599         Reviewed by Geoffrey Garen.
1600
1601         No new tests.
1602
1603         Renamed dynamicGlobalObject() to vmEntryGlobalObject().
1604         Replaced uses of DynamicGlobalObjectScope with VMEntryScope.
1605
1606         * ForwardingHeaders/runtime/VMEntryScope.h: Added.
1607         * WebCore.vcxproj/WebCore.vcxproj:
1608         * WebCore.vcxproj/WebCore.vcxproj.filters:
1609         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1610         (WebCore::JSCryptoAlgorithmBuilder::add):
1611         * bindings/js/JSCustomXPathNSResolver.cpp:
1612         (WebCore::JSCustomXPathNSResolver::create):
1613         * bindings/js/JSDOMBinding.cpp:
1614         (WebCore::firstDOMWindow):
1615         * bindings/js/JSErrorHandler.cpp:
1616         (WebCore::JSErrorHandler::handleEvent):
1617         * bindings/js/JSEventListener.cpp:
1618         (WebCore::JSEventListener::handleEvent):
1619         * bindings/js/JavaScriptCallFrame.h:
1620         (WebCore::JavaScriptCallFrame::vmEntryGlobalObject):
1621         * bindings/js/PageScriptDebugServer.cpp:
1622         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1623         * bindings/js/ScriptDebugServer.cpp:
1624         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
1625         (WebCore::ScriptDebugServer::handlePause):
1626         * bindings/js/WorkerScriptDebugServer.cpp:
1627         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1628         * bindings/objc/WebScriptObject.mm:
1629         (WebCore::addExceptionToConsole):
1630         * bridge/c/c_utility.cpp:
1631         (JSC::Bindings::convertValueToNPVariant):
1632         * bridge/objc/objc_instance.mm:
1633         (ObjcInstance::moveGlobalExceptionToExecState):
1634         * bridge/objc/objc_runtime.mm:
1635         (JSC::Bindings::convertValueToObjcObject):
1636         * bridge/objc/objc_utility.mm:
1637         (JSC::Bindings::convertValueToObjcValue):
1638
1639 2013-11-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1640
1641         Generate toHTMLFooElement() to clean up static_cast<>
1642         https://bugs.webkit.org/show_bug.cgi?id=124571
1643
1644         Reviewed by Ryosuke Niwa.
1645
1646         Though there are a lot of clean up commits before, there are still
1647         use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
1648         toHTMLDetails|Meta|Summary|TableCaptionElement().
1649
1650         Additionally, other static_cast<> are removed as well.
1651
1652         No new tests, no behavior changes.
1653
1654         * html/HTMLDetailsElement.h:
1655         * html/HTMLMediaElement.cpp:
1656         (HTMLMediaElement::selectNextSourceChild):
1657         * html/HTMLMetaElement.h:
1658         * html/HTMLObjectElement.cpp:
1659         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
1660         * html/HTMLOptionElement.cpp:
1661         (WebCore::HTMLOptionElement::isDisabledFormControl):
1662         * html/HTMLPlugInImageElement.cpp:
1663         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
1664         * html/HTMLSummaryElement.cpp:
1665         (WebCore::HTMLSummaryElement::detailsElement):
1666         * html/HTMLSummaryElement.h:
1667         * html/HTMLTableCaptionElement.h:
1668         * html/HTMLTableElement.cpp:
1669         (WebCore::HTMLTableElement::caption):
1670         * html/HTMLTagNames.in:
1671         * html/MediaDocument.cpp:
1672         (WebCore::MediaDocumentParser::createDocumentStructure):
1673         * html/shadow/DetailsMarkerControl.cpp:
1674         (WebCore::DetailsMarkerControl::summaryElement):
1675         * loader/FrameLoader.cpp:
1676         (WebCore::FrameLoader::handleFallbackContent):
1677         * loader/ImageLoader.cpp:
1678         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
1679         * page/DragController.cpp:
1680         (WebCore::DragController::canProcessDrag):
1681         * page/Frame.cpp:
1682         (WebCore::Frame::searchForLabelsBeforeElement):
1683         * page/SpatialNavigation.cpp:
1684         (WebCore::frameOwnerElement):
1685
1686 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1687
1688         Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed
1689         https://bugs.webkit.org/show_bug.cgi?id=122806
1690
1691         Reviewed by Antti Koivisto.
1692
1693         Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e
1694
1695         The document fragment of a template element outlives the element itself.
1696         Clear the host property on the document fragment when that happens.
1697
1698         Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html
1699
1700         * dom/TemplateContentDocumentFragment.h:
1701         * html/HTMLTemplateElement.cpp:
1702         (WebCore::HTMLTemplateElement::~HTMLTemplateElement):
1703         * html/HTMLTemplateElement.h:
1704
1705 2013-11-20  Chris Fleizach  <cfleizach@apple.com>
1706
1707         AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
1708         https://bugs.webkit.org/show_bug.cgi?id=120188
1709
1710         Reviewed by Dean Jackson.
1711
1712         Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.
1713
1714         To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
1715         it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.
1716
1717         Test: platform/mac/accessibility/webkit-alt-for-css-content.html
1718
1719         * accessibility/AccessibilityNodeObject.cpp:
1720         (WebCore::AccessibilityNodeObject::alternativeText):
1721         * accessibility/AccessibilityRenderObject.cpp:
1722         (WebCore::AccessibilityRenderObject::textUnderElement):
1723         (WebCore::objectInclusionFromAltText):
1724         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1725         * css/CSSComputedStyleDeclaration.cpp:
1726         (WebCore::altTextToCSSValue):
1727         (WebCore::ComputedStyleExtractor::propertyValue):
1728         * css/CSSParser.cpp:
1729         (WebCore::CSSParser::parseValue):
1730         (WebCore::CSSParser::parseAlt):
1731         * css/CSSParser.h:
1732         * css/CSSPropertyNames.in:
1733         * css/StyleResolver.cpp:
1734         (WebCore::StyleResolver::applyProperty):
1735         * rendering/RenderImage.h:
1736         (WebCore::RenderImage::altText):
1737         (WebCore::RenderImage::setAltText):
1738         * rendering/RenderTextFragment.h:
1739         * rendering/style/ContentData.cpp:
1740         (WebCore::ImageContentData::createRenderer):
1741         (WebCore::TextContentData::createRenderer):
1742         * rendering/style/ContentData.h:
1743         (WebCore::ContentData::setAltText):
1744         (WebCore::ContentData::altText):
1745         * rendering/style/RenderStyle.cpp:
1746         (WebCore::RenderStyle::setContent):
1747         (WebCore::RenderStyle::setContentAltText):
1748         (WebCore::RenderStyle::contentAltText):
1749         * rendering/style/RenderStyle.h:
1750         * rendering/style/StyleRareNonInheritedData.h:
1751
1752 2013-11-20  Roger Fong  <roger_fong@apple.com>
1753
1754         Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders.
1755         https://bugs.webkit.org/show_bug.cgi?id=124684.
1756
1757         Reviewed by Brent Fulgham.
1758
1759         Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html
1760
1761         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1762         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1763
1764 2013-11-20  Robert Sipka  <sipka@inf.u-szeged.hu>
1765
1766         [curl] Improve detecting and handling of SSL related errors
1767         https://bugs.webkit.org/show_bug.cgi?id=119436
1768
1769         Reviewed by Brent Fulgham.
1770
1771         Set the exact SSL verification error on CURL
1772         and store the enabled domain with certificate.
1773
1774         * WebCore.vcxproj/WebCore.vcxproj:
1775         * WebCore.vcxproj/WebCore.vcxproj.filters:
1776         * platform/network/ResourceHandle.h:
1777         * platform/network/ResourceHandleInternal.h:
1778         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1779         * platform/network/curl/ResourceError.h:
1780         (WebCore::ResourceError::ResourceError):
1781         (WebCore::ResourceError::sslErrors):
1782         (WebCore::ResourceError::setSSLErrors):
1783         * platform/network/curl/ResourceHandleCurl.cpp:
1784         (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
1785         * platform/network/curl/ResourceHandleManager.cpp:
1786         (WebCore::ResourceHandleManager::downloadTimerCallback):
1787         (WebCore::ResourceHandleManager::initializeHandle):
1788         * platform/network/curl/SSLHandle.cpp: Added.
1789         (WebCore::allowsAnyHTTPSCertificateHosts):
1790         (WebCore::sslIgnoreHTTPSCertificate):
1791         (WebCore::sslCertificateFlag):
1792         (WebCore::pemData):
1793         (WebCore::certVerifyCallback):
1794         (WebCore::sslctxfun):
1795         (WebCore::setSSLVerifyOptions):
1796         * platform/network/curl/SSLHandle.h: Added.
1797
1798 2013-11-20  Bem Jones-Bey  <bjonesbe@adobe.com>
1799
1800         [css shapes] Parse new circle shape syntax
1801         https://bugs.webkit.org/show_bug.cgi?id=124618
1802
1803         Reviewed by Antti Koivisto.
1804
1805         Implement parsing of the new cicle shape syntax. The implementation of
1806         the old syntax has been move aside as deprecated, and will be removed
1807         once the new syntax is stable.
1808
1809         Updated existing parsing tests to cover this.
1810
1811         * css/BasicShapeFunctions.cpp:
1812         (WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a
1813             BasicShapeCenterCoordinate.
1814         (WebCore::valueForBasicShape): Convert new basic shape and rename old
1815             one.
1816         (WebCore::convertToCenterCoordinate): Create a
1817             BasicShapeCenterCoordinate from a CSSPrimitiveValue.
1818         (WebCore::basicShapeForValue): Convert new shape value and rename old
1819             one.
1820         * css/CSSBasicShapes.cpp:
1821         (WebCore::buildCircleString): Build a new circle string.
1822         (WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle
1823             shape.
1824         (WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
1825         (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
1826         * css/CSSBasicShapes.h:
1827         (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new
1828             circle shape.
1829         (WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out
1830             of the way of the new circle implementation.
1831         (WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
1832         (WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
1833         (WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
1834         (WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
1835         (WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
1836         (WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
1837         (WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.
1838         * css/CSSParser.cpp:
1839         (WebCore::CSSParser::parseShapeRadius): Parse the radius for the new
1840             circle syntax. Will also be used by the new ellipse syntax.
1841         (WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle
1842             syntax.
1843         (WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make
1844             way for the new implementation.
1845         (WebCore::isDeprecatedBasicShape): Check if we have a new circle or an
1846             old circle.
1847         (WebCore::CSSParser::parseBasicShape): Update to parse the new circle
1848             syntax.
1849         * css/CSSParser.h:
1850         * css/CSSValueKeywords.in: Add support for the new circle keywords.
1851         * rendering/shapes/Shape.cpp:
1852         (WebCore::Shape::createShape): 
1853         * rendering/style/BasicShapes.cpp: Deprecate old circle and add stub
1854             for layout code.
1855         (WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for
1856             the new implementation.
1857         (WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for
1858             the new implementation.
1859         (WebCore::BasicShapeCircle::path): Create path for new circle shape.
1860         (WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.
1861         * rendering/style/BasicShapes.h:
1862         (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):
1863             Represent an x or y coordinate for the center of a new circle,
1864             since it can be either a keyword along with an offset that cannot
1865             be resolved until layout time or an ordinary Length. This will
1866             also be used by the new ellipse implementation.
1867         (WebCore::BasicShapeCenterCoordinate::keyword):
1868         (WebCore::BasicShapeCenterCoordinate::length):
1869         (WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
1870         (WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of
1871             a new circle shape since it can either be a straightforward Length or
1872             a keyword that cannot be resolved until layout time.
1873         (WebCore::BasicShapeRadius::value):
1874         (WebCore::BasicShapeRadius::type):
1875         (WebCore::BasicShapeRadius::blend): Interpolate.
1876         (WebCore::BasicShapeCircle::centerX):
1877         (WebCore::BasicShapeCircle::centerY):
1878         (WebCore::BasicShapeCircle::radius):
1879         (WebCore::BasicShapeCircle::setCenterX):
1880         (WebCore::BasicShapeCircle::setCenterY):
1881         (WebCore::BasicShapeCircle::setRadius):
1882         (WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
1883         (WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for
1884             new circle implementation.
1885         (WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.
1886
1887 2013-11-20  Hans Muller  <hmuller@adobe.com>
1888
1889         [CSS Shapes] Add BoxShape and FloatRoundingRect classes
1890         https://bugs.webkit.org/show_bug.cgi?id=124368
1891
1892         Reviewed by Dean Jackson.
1893
1894         Added the BoxShape class. It's now used to represent shape-outside box
1895         values: [margin/border/padding/content]-box. BoxShape depends on a new
1896         FloatRoundedRect class, which is a float analog of the existing (int)
1897         RoundedRect class. The FloatRoundedRect class contains the same basic
1898         methods and accessors as BorderRect and adds a set of four methods,
1899         for example topLeftCorner(), that return a FloatRect that represents the
1900         bounds of one elliptical corner. I also added a method, xInterceptsAtY()
1901         that returns two X coordinates of the intersection between a horizontal
1902         line and the rounded rectangle.
1903
1904         No new tests, this is just an internal refactoring.
1905
1906         * CMakeLists.txt:
1907         * GNUmakefile.list.am:
1908         * WebCore.vcxproj/WebCore.vcxproj:
1909         * WebCore.vcxproj/WebCore.vcxproj.filters:
1910         * WebCore.xcodeproj/project.pbxproj:
1911         * platform/graphics/FloatRoundedRect.cpp: Added.
1912         (WebCore::FloatRoundedRect::FloatRoundedRect):
1913         (WebCore::FloatRoundedRect::Radii::isZero):
1914         (WebCore::FloatRoundedRect::Radii::scale):
1915         (WebCore::FloatRoundedRect::Radii::expand):
1916         (WebCore::cornerRectIntercept):
1917         (WebCore::FloatRoundedRect::xInterceptsAtY):
1918         * platform/graphics/FloatRoundedRect.h: Added.
1919         (WebCore::FloatRoundedRect::Radii::Radii):
1920         (WebCore::FloatRoundedRect::Radii::setTopLeft):
1921         (WebCore::FloatRoundedRect::Radii::setTopRight):
1922         (WebCore::FloatRoundedRect::Radii::setBottomLeft):
1923         (WebCore::FloatRoundedRect::Radii::setBottomRight):
1924         (WebCore::FloatRoundedRect::Radii::topLeft):
1925         (WebCore::FloatRoundedRect::Radii::topRight):
1926         (WebCore::FloatRoundedRect::Radii::bottomLeft):
1927         (WebCore::FloatRoundedRect::Radii::bottomRight):
1928         (WebCore::FloatRoundedRect::Radii::expand):
1929         (WebCore::FloatRoundedRect::Radii::shrink):
1930         (WebCore::FloatRoundedRect::rect):
1931         (WebCore::FloatRoundedRect::radii):
1932         (WebCore::FloatRoundedRect::isRounded):
1933         (WebCore::FloatRoundedRect::isEmpty):
1934         (WebCore::FloatRoundedRect::setRect):
1935         (WebCore::FloatRoundedRect::setRadii):
1936         (WebCore::FloatRoundedRect::move):
1937         (WebCore::FloatRoundedRect::inflate):
1938         (WebCore::FloatRoundedRect::expandRadii):
1939         (WebCore::FloatRoundedRect::shrinkRadii):
1940         (WebCore::FloatRoundedRect::topLeftCorner):
1941         (WebCore::FloatRoundedRect::topRightCorner):
1942         (WebCore::FloatRoundedRect::bottomLeftCorner):
1943         (WebCore::FloatRoundedRect::bottomRightCorner):
1944         (WebCore::operator==):
1945         * rendering/shapes/BoxShape.cpp: Added.
1946         (WebCore::BoxShape::BoxShape):
1947         (WebCore::BoxShape::getExcludedIntervals):
1948         (WebCore::BoxShape::getIncludedIntervals):
1949         (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
1950         * rendering/shapes/BoxShape.h: Added.
1951         * rendering/shapes/Shape.cpp:
1952         (WebCore::createBoxShape):
1953         (WebCore::Shape::createShape):
1954
1955 2013-11-20  Antti Koivisto  <antti@apple.com>
1956
1957         Simple line layout should support floats
1958         https://bugs.webkit.org/show_bug.cgi?id=124666
1959
1960         Reviewed by Dave Hyatt.
1961
1962         Tests: fast/text/simple-lines-float-compare.html
1963                fast/text/simple-lines-float.html
1964
1965         * rendering/line/LineWidth.h:
1966         (WebCore::LineWidth::logicalLeftOffset):
1967         
1968             Expose the left offset so we don't need to recompute it.
1969
1970         * rendering/SimpleLineLayout.cpp:
1971         (WebCore::SimpleLineLayout::canUseFor):
1972         (WebCore::SimpleLineLayout::computeLineLeft):
1973         
1974             Include the left offset from floats.
1975
1976         (WebCore::SimpleLineLayout::createTextRuns):
1977         
1978             Keep the flow height updated during the loop as LineWidth reads the current position from there.
1979
1980         * rendering/SimpleLineLayoutResolver.h:
1981         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1982         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1983         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
1984         (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
1985         
1986             We now bake the border and the padding to the line left offset. No need to add it during resolve.
1987
1988 2013-11-20  Alexey Proskuryakov  <ap@apple.com>
1989
1990         Use std::function callbacks in CryptoAlgorithm instead of JS promises
1991         https://bugs.webkit.org/show_bug.cgi?id=124673
1992
1993         Reviewed by Anders Carlsson.
1994
1995         To implement key wrapping/unwrapping, we'll need to chain existing operations.
1996         It's much easier to do with C++ callbacks than with functions fulfilling JS
1997         promises directly.
1998
1999         Also, this will decouple CryptoAlgorithm from JS, which is nice.
2000
2001         SubtleCrypto IDL says that all functions return Promise<any>, but in reality,
2002         there is very little polymorphism, the only function whose return type depends
2003         on algorithm is generateKey (it can create a Key or a KeyPair).
2004
2005         * bindings/js/JSDOMPromise.cpp:
2006         (WebCore::PromiseWrapper::PromiseWrapper):
2007         (WebCore::PromiseWrapper::operator=):
2008         * bindings/js/JSDOMPromise.h:
2009         Made it copyable, as each crypto function wraps the promise in success and failure
2010         functional objects now.
2011
2012         * bindings/js/JSSubtleCryptoCustom.cpp:
2013         (WebCore::JSSubtleCrypto::encrypt):
2014         (WebCore::JSSubtleCrypto::decrypt):
2015         (WebCore::JSSubtleCrypto::sign):
2016         (WebCore::JSSubtleCrypto::verify):
2017         (WebCore::JSSubtleCrypto::digest):
2018         (WebCore::JSSubtleCrypto::generateKey):
2019         (WebCore::JSSubtleCrypto::importKey):
2020         (WebCore::JSSubtleCrypto::exportKey):
2021         * crypto/CryptoAlgorithm.cpp:
2022         (WebCore::CryptoAlgorithm::encrypt):
2023         (WebCore::CryptoAlgorithm::decrypt):
2024         (WebCore::CryptoAlgorithm::sign):
2025         (WebCore::CryptoAlgorithm::verify):
2026         (WebCore::CryptoAlgorithm::digest):
2027         (WebCore::CryptoAlgorithm::generateKey):
2028         (WebCore::CryptoAlgorithm::deriveKey):
2029         (WebCore::CryptoAlgorithm::deriveBits):
2030         (WebCore::CryptoAlgorithm::importKey):
2031         * crypto/CryptoAlgorithm.h:
2032         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2033         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
2034         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
2035         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2036         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
2037         (WebCore::CryptoAlgorithmAES_CBC::importKey):
2038         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
2039         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2040         (WebCore::CryptoAlgorithmHMAC::generateKey):
2041         (WebCore::CryptoAlgorithmHMAC::importKey):
2042         * crypto/algorithms/CryptoAlgorithmHMAC.h:
2043         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2044         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
2045         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
2046         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
2047         * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
2048         (WebCore::CryptoAlgorithmSHA1::digest):
2049         * crypto/algorithms/CryptoAlgorithmSHA1.h:
2050         * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
2051         (WebCore::CryptoAlgorithmSHA224::digest):
2052         * crypto/algorithms/CryptoAlgorithmSHA224.h:
2053         * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
2054         (WebCore::CryptoAlgorithmSHA256::digest):
2055         * crypto/algorithms/CryptoAlgorithmSHA256.h:
2056         * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
2057         (WebCore::CryptoAlgorithmSHA384::digest):
2058         * crypto/algorithms/CryptoAlgorithmSHA384.h:
2059         * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
2060         (WebCore::CryptoAlgorithmSHA512::digest):
2061         * crypto/algorithms/CryptoAlgorithmSHA512.h:
2062         * crypto/keys/CryptoKeyRSA.h:
2063         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
2064         (WebCore::transformAES_CBC):
2065         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
2066         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
2067         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2068         (WebCore::CryptoAlgorithmHMAC::sign):
2069         (WebCore::CryptoAlgorithmHMAC::verify):
2070         * crypto/mac/CryptoKeyRSAMac.cpp:
2071         (WebCore::CryptoKeyRSA::generatePair):
2072
2073 2013-11-20  Robert Hogan  <robert@webkit.org>
2074
2075         REGRESSION(r127163): Respect clearance set on ancestors when placing floats
2076         https://bugs.webkit.org/show_bug.cgi?id=119979
2077
2078         Reviewed by David Hyatt.
2079
2080         Refactor the way self-collapsing blocks with clearance are positioned so that they
2081         get the correct logical-top position during margin-collapsing.
2082
2083         Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html
2084
2085         * rendering/RenderBlockFlow.cpp:
2086         (WebCore::RenderBlockFlow::clearFloats):
2087         (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
2088         (WebCore::RenderBlockFlow::collapseMargins):
2089         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
2090         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
2091         * rendering/RenderBlockFlow.h:
2092
2093 2013-11-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2094
2095         [GTK] Remove Chromium as user agent and claim to be Safari in OS X
2096         https://bugs.webkit.org/show_bug.cgi?id=124229
2097
2098         Reviewed by Martin Robinson.
2099
2100         http://www.duolingo.com/ doesn't get render correctly because it uses
2101         Chrome/Chromium specific variables, added after it was forked. Because
2102         of this, it is necessary to remove the Chrome/Chromium identification
2103         in the user agent. Also, from now on, by default, The GTK+ port will
2104         claim to be Safari in OS X to avoid loading wrong resources.
2105
2106         * platform/gtk/UserAgentGtk.cpp:
2107         (WebCore::standardUserAgent):
2108
2109 2013-11-20  Commit Queue  <commit-queue@webkit.org>
2110
2111         Unreviewed, rolling out r159551.
2112         http://trac.webkit.org/changeset/159551
2113         https://bugs.webkit.org/show_bug.cgi?id=124669
2114
2115         made many tests asserts (Requested by anttik on #webkit).
2116
2117         * html/HTMLDetailsElement.h:
2118         * html/HTMLMediaElement.cpp:
2119         (HTMLMediaElement::selectNextSourceChild):
2120         * html/HTMLMetaElement.h:
2121         * html/HTMLObjectElement.cpp:
2122         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
2123         * html/HTMLOptionElement.cpp:
2124         (WebCore::HTMLOptionElement::isDisabledFormControl):
2125         * html/HTMLPlugInImageElement.cpp:
2126         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
2127         * html/HTMLSummaryElement.cpp:
2128         (WebCore::HTMLSummaryElement::detailsElement):
2129         * html/HTMLSummaryElement.h:
2130         * html/HTMLTableCaptionElement.h:
2131         * html/HTMLTableElement.cpp:
2132         (WebCore::HTMLTableElement::caption):
2133         (WebCore::HTMLTableElement::tHead):
2134         (WebCore::HTMLTableElement::tFoot):
2135         (WebCore::HTMLTableElement::lastBody):
2136         * html/HTMLTableRowElement.cpp:
2137         (WebCore::HTMLTableRowElement::rowIndex):
2138         * html/HTMLTableSectionElement.h:
2139         * html/HTMLTagNames.in:
2140         * html/MediaDocument.cpp:
2141         (WebCore::MediaDocumentParser::createDocumentStructure):
2142         * html/shadow/DetailsMarkerControl.cpp:
2143         (WebCore::DetailsMarkerControl::summaryElement):
2144         * loader/FrameLoader.cpp:
2145         (WebCore::FrameLoader::handleFallbackContent):
2146         * loader/ImageLoader.cpp:
2147         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2148         * page/DragController.cpp:
2149         (WebCore::DragController::canProcessDrag):
2150         * page/Frame.cpp:
2151         (WebCore::Frame::searchForLabelsBeforeElement):
2152         * page/SpatialNavigation.cpp:
2153         (WebCore::frameOwnerElement):
2154
2155 2013-11-20  Zoltan Horvath  <zoltan@webkit.org>
2156
2157         Move LineWidth.{h,cpp} into rendering/line
2158         <https://webkit.org/b/124448>
2159
2160         Reviewed by David Hyatt.
2161
2162         In r159354 I introduced line directory. Now it's time to move the helper classes of RenderBlockLineLayout into 'line' subdirectory.
2163
2164         No new tests, no behavior change.
2165
2166         * CMakeLists.txt:
2167         * GNUmakefile.list.am:
2168         * WebCore.vcxproj/WebCore.vcxproj:
2169         * WebCore.vcxproj/WebCore.vcxproj.filters:
2170         * WebCore.xcodeproj/project.pbxproj:
2171         * rendering/line/LineWidth.cpp: Renamed from Source/WebCore/rendering/LineWidth.cpp.
2172         (WebCore::LineWidth::LineWidth):
2173         (WebCore::LineWidth::fitsOnLine):
2174         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
2175         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
2176         (WebCore::LineWidth::updateAvailableWidth):
2177         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2178         (WebCore::LineWidth::commit):
2179         (WebCore::LineWidth::applyOverhang):
2180         (WebCore::LineWidth::fitBelowFloats):
2181         (WebCore::LineWidth::setTrailingWhitespaceWidth):
2182         (WebCore::LineWidth::updateCurrentShapeSegment):
2183         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2184         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
2185         * rendering/line/LineWidth.h: Renamed from Source/WebCore/rendering/LineWidth.h.
2186         (WebCore::LineWidth::currentWidth):
2187         (WebCore::LineWidth::uncommittedWidth):
2188         (WebCore::LineWidth::committedWidth):
2189         (WebCore::LineWidth::availableWidth):
2190         (WebCore::LineWidth::addUncommittedWidth):
2191         (WebCore::LineWidth::shouldIndentText):
2192
2193 2013-11-20  Brady Eidson  <beidson@apple.com>
2194
2195         Alphabetization followup to r159567
2196
2197         Reviewed by style-bot  :(
2198
2199         * Modules/indexeddb/IDBDatabaseBackend.h:
2200         * Modules/indexeddb/IDBIndex.h:
2201         * Modules/indexeddb/IDBObjectStore.h:
2202         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2203         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2204         * inspector/InspectorIndexedDBAgent.cpp:
2205
2206 2013-11-20  Brady Eidson  <beidson@apple.com>
2207
2208         Rename IDBMetadata.h to IDBDatabaseMetadata.h
2209         https://bugs.webkit.org/show_bug.cgi?id=124668
2210
2211         Reviewed by Dean Jackson.
2212
2213         * GNUmakefile.list.am:
2214         * WebCore.xcodeproj/project.pbxproj:
2215
2216         * Modules/indexeddb/IDBDatabase.h:
2217         * Modules/indexeddb/IDBDatabaseBackend.h:
2218
2219         * Modules/indexeddb/IDBDatabaseMetadata.h: Renamed from Source/WebCore/Modules/indexeddb/IDBMetadata.h.
2220         (WebCore::IDBIndexMetadata::IDBIndexMetadata):
2221         (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
2222         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
2223
2224         * Modules/indexeddb/IDBIndex.h:
2225         * Modules/indexeddb/IDBObjectStore.h:
2226         * Modules/indexeddb/IDBServerConnection.h:
2227         * Modules/indexeddb/IDBTransaction.h:
2228         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2229         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2230         * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
2231         * inspector/InspectorIndexedDBAgent.cpp:
2232
2233 2013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
2234
2235         Remove bogus assertions in updateNameForTreeScope and updateNameForDocument
2236         https://bugs.webkit.org/show_bug.cgi?id=124639
2237
2238         Reviewed by Darin Adler.
2239
2240         Removed assertions. We can't assert that the element in a tree scope or a document
2241         since these two functions are called from removedFrom.
2242
2243         * dom/Element.cpp:
2244         (WebCore::Element::updateNameForTreeScope):
2245         (WebCore::Element::updateNameForDocument):
2246
2247 2013-11-20  Brady Eidson  <beidson@apple.com>
2248
2249         Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
2250         https://bugs.webkit.org/show_bug.cgi?id=124635
2251
2252         Reviewed by Tim Horton.
2253
2254         getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the 
2255         server connection should already know what database name it represents.
2256
2257         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2258         (WebCore::IDBDatabaseBackend::openInternalAsync):
2259
2260         * Modules/indexeddb/IDBServerConnection.h:
2261         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2262         (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
2263         (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
2264         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2265
2266         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2267         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
2268         (WebCore::IDBFactoryBackendLevelDB::open):
2269
2270 2013-11-20  Andrzej Badowski  <a.badowski@samsung.com>
2271
2272         [EFL] <video> and <audio> should be accessible.
2273         https://bugs.webkit.org/show_bug.cgi?id=124494
2274
2275         Reviewed by Gyuyoung Kim.
2276
2277         Adding descriptions of media-element controls.
2278
2279         * platform/efl/LocalizedStringsEfl.cpp:
2280         (WebCore::localizedMediaControlElementString):
2281
2282 2013-11-20  Antti Koivisto  <antti@apple.com>
2283
2284         Don't paint simple text runs outside the paint rect
2285         https://bugs.webkit.org/show_bug.cgi?id=124651
2286
2287         Reviewed by Anders Carlsson.
2288         
2289         This speeds up partial paints for long text paragraphs. 
2290         Also add the same optimization for hit testing.
2291
2292         * rendering/SimpleLineLayoutFunctions.cpp:
2293         (WebCore::SimpleLineLayout::paintFlow):
2294         
2295             Iterate over the run range that needs painting.
2296
2297         (WebCore::SimpleLineLayout::hitTestFlow):
2298         
2299             Iterate over the line range that needs painting.
2300
2301         * rendering/SimpleLineLayoutResolver.h:
2302         (WebCore::SimpleLineLayout::Range::Range):
2303         (WebCore::SimpleLineLayout::Range::begin):
2304         (WebCore::SimpleLineLayout::Range::end):
2305         
2306             Add Range type.
2307
2308         (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
2309         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
2310         (WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
2311         (WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
2312         
2313             Optimize case where runCount==lineCount. In this case we can just directly jump
2314             to the right run/line.
2315
2316         (WebCore::SimpleLineLayout::RunResolver::begin):
2317         (WebCore::SimpleLineLayout::RunResolver::end):
2318         (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
2319         (WebCore::SimpleLineLayout::RunResolver::rangeForRect):
2320         
2321             Get the range corresponding to a rect. This currently cares about y coordinates only.
2322
2323         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
2324         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
2325         (WebCore::SimpleLineLayout::LineResolver::rangeForRect):
2326
2327 2013-11-20  Antoine Quint  <graouts@apple.com>
2328
2329         Cannot animate "points" attribute for <svg:polygon>
2330         https://bugs.webkit.org/show_bug.cgi?id=21371
2331
2332         Reviewed by Antti Koivisto.
2333
2334         Ensure we use animated list of points for SVG <polygon> and <polyline> elements
2335         when we build the path used to draw them, otherwise the animated changes won't
2336         be rendered and the base value will be used.
2337
2338         Tests: svg/animations/polygon-set.svg
2339                svg/animations/polyline-set.svg
2340
2341         * rendering/svg/SVGPathData.cpp:
2342         (WebCore::updatePathFromPolygonElement):
2343         (WebCore::updatePathFromPolylineElement):
2344
2345 2013-11-20  Andrei Bucur  <abucur@adobe.com>
2346
2347         [CSSRegions] Move region styling code into RenderNamedFlowFragment
2348         https://bugs.webkit.org/show_bug.cgi?id=122957
2349
2350         Reviewed by Mihnea Ovidenie.
2351
2352         The patch moves all the region styling functionality outside of RenderRegion
2353         to RenderNamedFlowFragment and outside of RenderFlowThread to RenderNamedFlowThread.
2354         This generates a couple of undesired casts that will be removed in later patches
2355         when everything CSS Regions specific will be located inside RenderNamedFlowThread
2356         and RenderNamedFlowFragment (e.g. the move of the isValid flag, the auto-height
2357         code etc.).
2358
2359         The painting function was also moved from RenderRegion to RenderNamedFlowFragment. It
2360         was only used by the CSS Regions code. The new multi-column implementation has its own
2361         painting mechanism.
2362
2363         Tests: No changed functionality, just refactorings.
2364
2365         * rendering/RenderFlowThread.cpp:
2366         (WebCore::RenderFlowThread::RenderFlowThread):
2367         (WebCore::RenderFlowThread::removeFlowChildInfo):
2368         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
2369         * rendering/RenderFlowThread.h:
2370         * rendering/RenderInline.cpp:
2371         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
2372         * rendering/RenderNamedFlowFragment.cpp:
2373         (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
2374         (WebCore::RenderNamedFlowFragment::styleDidChange):
2375         (WebCore::RenderNamedFlowFragment::checkRegionStyle):
2376         (WebCore::RenderNamedFlowFragment::computeStyleInRegion):
2377         (WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
2378         (WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
2379         (WebCore::RenderNamedFlowFragment::clearObjectStyleInRegion):
2380         (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
2381         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
2382         (WebCore::shouldPaintRegionContentsInPhase):
2383         (WebCore::RenderNamedFlowFragment::paintObject):
2384         * rendering/RenderNamedFlowFragment.h:
2385         * rendering/RenderNamedFlowThread.cpp:
2386         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2387         (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
2388         (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
2389         (WebCore::RenderNamedFlowThread::removeFlowChildInfo):
2390         * rendering/RenderNamedFlowThread.h:
2391         * rendering/RenderRegion.cpp:
2392         (WebCore::RenderRegion::RenderRegion):
2393         (WebCore::RenderRegion::styleDidChange):
2394         (WebCore::RenderRegion::attachRegion):
2395         * rendering/RenderRegion.h:
2396         * rendering/RenderTreeAsText.cpp:
2397         (WebCore::writeRenderRegionList):
2398
2399 2013-11-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2400
2401         Generate toHTMLFooElement() to clean up static_cast<>
2402         https://bugs.webkit.org/show_bug.cgi?id=124571
2403
2404         Reviewed by Darin Adler.
2405
2406         Though there are a lot of clean up commits before, there are still
2407         use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
2408         toHTMLDetails|Meta|Summary|TableSection|TableCaptionElement().
2409
2410         Additionally, other static_cast<> are removed as well.
2411
2412         No new tests, no behavior changes.
2413
2414         * html/HTMLDetailsElement.h:
2415         * html/HTMLMediaElement.cpp:
2416         (HTMLMediaElement::selectNextSourceChild):
2417         * html/HTMLMetaElement.h:
2418         * html/HTMLObjectElement.cpp:
2419         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
2420         * html/HTMLOptionElement.cpp:
2421         (WebCore::HTMLOptionElement::isDisabledFormControl):
2422         * html/HTMLPlugInImageElement.cpp:
2423         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
2424         * html/HTMLSummaryElement.cpp:
2425         (WebCore::HTMLSummaryElement::detailsElement):
2426         * html/HTMLSummaryElement.h:
2427         * html/HTMLTableCaptionElement.h:
2428         * html/HTMLTableElement.cpp:
2429         (WebCore::HTMLTableElement::caption):
2430         (WebCore::HTMLTableElement::tHead):
2431         (WebCore::HTMLTableElement::tFoot):
2432         (WebCore::HTMLTableElement::lastBody):
2433         * html/HTMLTableRowElement.cpp:
2434         (WebCore::HTMLTableRowElement::rowIndex):
2435         * html/HTMLTableSectionElement.h:
2436         * html/HTMLTagNames.in:
2437         * html/MediaDocument.cpp:
2438         (WebCore::MediaDocumentParser::createDocumentStructure):
2439         * html/shadow/DetailsMarkerControl.cpp:
2440         (WebCore::DetailsMarkerControl::summaryElement):
2441         * loader/FrameLoader.cpp:
2442         (WebCore::FrameLoader::handleFallbackContent):
2443         * loader/ImageLoader.cpp:
2444         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2445         * page/DragController.cpp:
2446         (WebCore::DragController::canProcessDrag):
2447         * page/Frame.cpp:
2448         (WebCore::Frame::searchForLabelsBeforeElement):
2449         * page/SpatialNavigation.cpp:
2450         (WebCore::frameOwnerElement):
2451
2452 2013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
2453
2454         Enable HTMLTemplateElement on Mac port
2455         https://bugs.webkit.org/show_bug.cgi?id=124637
2456
2457         Reviewed by Tim Horton.
2458
2459         Enabled the feature.
2460
2461         * Configurations/FeatureDefines.xcconfig:
2462
2463 2013-11-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2464
2465         Remove unused member function declaration in DocumentOrderedMap.h
2466         https://bugs.webkit.org/show_bug.cgi?id=124629
2467
2468         Reviewed by Ryosuke Niwa.
2469
2470         checkConsistency() is not used anywhere.
2471
2472         * dom/DocumentOrderedMap.h:
2473
2474 2013-11-19  Seokju Kwon  <seokju@webkit.org>
2475
2476         Removal of redundant function call in Editor::insertTextWithoutSendingTextEvent
2477         https://bugs.webkit.org/show_bug.cgi?id=124563
2478
2479         Reviewed by Brent Fulgham.
2480
2481         No new tests needed, no behavior change.
2482
2483         * editing/Editor.cpp:
2484         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2485
2486 2013-11-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2487
2488         Fix build break after r159533.
2489
2490         * CMakeLists.txt: Update ANGLE files.
2491
2492 2013-11-19  Zhuang Zhigang  <zhuangzg@cn.fujitsu.com>
2493
2494         Implement spin control on WinCE port.
2495         https://bugs.webkit.org/show_bug.cgi?id=123254
2496
2497         Reviewed by Brent Fulgham.
2498
2499         * rendering/RenderThemeWinCE.cpp:
2500         (WebCore::RenderThemeWinCE::adjustInnerSpinButtonStyle):
2501         (WebCore::RenderThemeWinCE::paintInnerSpinButton):
2502         * rendering/RenderThemeWinCE.h:
2503
2504 2013-11-19  Roger Fong  <roger_fong@apple.com>
2505
2506         Update ANGLE sources.
2507         https://bugs.webkit.org/show_bug.cgi?id=124615.
2508
2509         Reviewed by Dean Jackson.
2510
2511         Tests covered by Khronos WebGL conformance tests.
2512
2513         * platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.
2514         (WebCore::getSymbolInfo):
2515         (WebCore::ANGLEWebKitBridge::compileShaderSource):
2516
2517 2013-11-19  Filip Pizlo  <fpizlo@apple.com>
2518
2519         Rename WatchpointSet::notifyWrite() should be renamed to WatchpointSet::fireAll()
2520         https://bugs.webkit.org/show_bug.cgi?id=124609
2521
2522         Rubber stamped by Mark Lam.
2523
2524         No new tests because no new behavior.
2525
2526         * bindings/scripts/CodeGeneratorJS.pm:
2527         (GenerateHeader):
2528         * bindings/scripts/test/JS/JSTestEventTarget.h:
2529         (WebCore::JSTestEventTarget::create):
2530
2531 2013-11-19  Bear Travis  <betravis@adobe.com>
2532
2533         [CSS Shapes] Parse [<box> || <shape>] values
2534         https://bugs.webkit.org/show_bug.cgi?id=124426
2535
2536         Reviewed by Dirk Schulze.
2537
2538         Shape values can now have an optional box specifying the coordinate sytem to use
2539         for sizing and positioning the shape. This patch adds the functionality to support
2540         parsing these new values.
2541
2542         * css/BasicShapeFunctions.cpp:
2543         (WebCore::valueForBox): Added function to convert between BasicShape::ReferenceBox
2544         and CSSPrimitiveValue (which wraps a CSSValueID).
2545         (WebCore::boxForValue): Ditto.
2546         (WebCore::valueForBasicShape): Translations between CSSBasicShape and BasicShape
2547         must now include the reference box.
2548         (WebCore::basicShapeForValue): Ditto.
2549         * css/BasicShapeFunctions.h:
2550         * css/CSSBasicShapes.cpp:
2551         (WebCore::buildRectangleString): Include the box in the built CSS string.
2552         (WebCore::CSSBasicShapeRectangle::cssText): Ditto.
2553         (WebCore::CSSBasicShapeRectangle::equals): Include the box in comparisions.
2554         (WebCore::buildCircleString):
2555         (WebCore::CSSBasicShapeCircle::cssText):
2556         (WebCore::CSSBasicShapeCircle::equals):
2557         (WebCore::buildEllipseString):
2558         (WebCore::CSSBasicShapeEllipse::cssText):
2559         (WebCore::CSSBasicShapeEllipse::equals):
2560         (WebCore::buildPolygonString):
2561         (WebCore::CSSBasicShapePolygon::cssText):
2562         (WebCore::CSSBasicShapePolygon::equals):
2563         (WebCore::buildInsetRectangleString):
2564         (WebCore::CSSBasicShapeInsetRectangle::cssText):
2565         (WebCore::CSSBasicShapeInsetRectangle::equals):
2566         * css/CSSBasicShapes.h:
2567         (WebCore::CSSBasicShape::box): BasicShapes now have an reference box.
2568         (WebCore::CSSBasicShape::setBox): Ditto.
2569         * css/CSSComputedStyleDeclaration.cpp:
2570         (WebCore::ComputedStyleExtractor::propertyValue): Shape-inside can also
2571         parse the box values.
2572         * css/CSSParser.cpp:
2573         (WebCore::CSSParser::parseValue): The shape properties use parseShapeProperty,
2574         while minor adjustments were made to parseBasicShape's return type.
2575         (WebCore::isBoxValue): Is the CSSValueID one of  the box values.
2576         (WebCore::CSSParser::parseShapeProperty): Parse one of the shape properties
2577         and return an appropriate CSSValue.
2578         (WebCore::CSSParser::parseBasicShape): Return a CSSBasicShape rather than
2579         adding a ShapeValue to the style.
2580         * css/CSSParser.h:
2581         * rendering/style/BasicShapes.h:
2582         (WebCore::BasicShape::box): Add a box to BasicShape and getters/setters.
2583         (WebCore::BasicShape::setBox): Ditto.
2584         (WebCore::BasicShape::BasicShape): Ditto.
2585
2586 2013-11-19  Jer Noble  <jer.noble@apple.com>
2587
2588         [Mac] 9 WebGL conformance failures after r159518.
2589         https://bugs.webkit.org/show_bug.cgi?id=124608
2590
2591         Reviewed by Dean Jackson.
2592
2593         Once we removed the CIImage drawing path, there was no longer any reason to flip the
2594         CGImageRef before drawing to the provided GraphicsContext.
2595
2596         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2597         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2598
2599 2013-11-19  Chris Fleizach  <cfleizach@apple.com>
2600
2601         Web Speech API crashes onboundary event handling with reload
2602         https://bugs.webkit.org/show_bug.cgi?id=124607
2603
2604         Reviewed by Tim Horton.
2605
2606         If the page goes away, we need to cleanup the Mac platform synthesizer object, because
2607         NSSpeechSynthesizer is retained elsewhere to handle the callbacks (so it doesn't automatically
2608         get torn down).
2609
2610         The layout tests for speech rely on a Mock synthesizer, so there is no good way to test this
2611         Mac platform specific behavior.       
2612
2613         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2614         (-[WebSpeechSynthesisWrapper invalidate]):
2615         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
2616
2617 2013-11-19  Mark Lam  <mark.lam@apple.com>
2618
2619         Add tracking of endColumn for Executables.
2620         https://bugs.webkit.org/show_bug.cgi?id=124245.
2621
2622         Reviewed by Geoffrey Garen.
2623
2624         Test: js/dom/script-start-end-locations.html
2625
2626         * ForwardingHeaders/bytecode: Added.
2627         * ForwardingHeaders/bytecode/CodeBlock.h: Added.
2628         * WebCore.exp.in:
2629         * testing/Internals.cpp:
2630         (WebCore::GetCallerCodeBlockFunctor::GetCallerCodeBlockFunctor):
2631         (WebCore::GetCallerCodeBlockFunctor::operator()):
2632         (WebCore::GetCallerCodeBlockFunctor::codeBlock):
2633         (WebCore::Internals::parserMetaData):
2634         * testing/Internals.h:
2635         * testing/Internals.idl:
2636
2637 2013-11-15  Jer Noble  <jer.noble@apple.com>
2638
2639         [MSE] Support fastSeek() in MediaSource.
2640         https://bugs.webkit.org/show_bug.cgi?id=124422
2641
2642         Reviewed by Eric Carlson.
2643
2644         Test: media/media-source/media-source-fastseek.html
2645
2646         * Modules/mediasource/MediaSource.cpp:
2647         * Modules/mediasource/MediaSource.h:
2648
2649         Add support for "seek to the next fastest time" in MediaSource by
2650         returning the time of the nearest Sync sample.
2651
2652         Move the data structure logic out of SourceBuffer and into it's own
2653         class:
2654         * Modules/mediasource/SampleMap.cpp: Added.
2655         (WebCore::SampleIsLessThanMediaTimeComparator::operator()):
2656         (WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
2657         (WebCore::SampleIsRandomAccess::operator()):
2658         (WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
2659         (WebCore::SampleMap::addSample):
2660         (WebCore::SampleMap::removeSample):
2661         (WebCore::SampleMap::findSampleContainingPresentationTime):
2662         (WebCore::SampleMap::findSampleAfterPresentationTime):
2663         (WebCore::SampleMap::findSampleWithDecodeTime):
2664         (WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
2665         (WebCore::SampleMap::reverseFindSampleBeforePresentationTime):
2666         (WebCore::SampleMap::reverseFindSampleWithDecodeTime):
2667         (WebCore::SampleMap::findSyncSamplePriorToPresentationTime):
2668         (WebCore::SampleMap::findSyncSamplePriorToDecodeIterator):
2669         (WebCore::SampleMap::findSyncSampleAfterPresentationTime):
2670         (WebCore::SampleMap::findSyncSampleAfterDecodeIterator):
2671         (WebCore::SampleMap::findSamplesBetweenPresentationTimes):
2672         (WebCore::SampleMap::findDependentSamples):
2673         * Modules/mediasource/SampleMap.h: Added.
2674         (WebCore::SampleMap::presentationBegin):
2675         (WebCore::SampleMap::presentationEnd):
2676         (WebCore::SampleMap::decodeBegin):
2677         (WebCore::SampleMap::decodeEnd):
2678         (WebCore::SampleMap::reversePresentationBegin):
2679         (WebCore::SampleMap::reversePresentationEnd):
2680         (WebCore::SampleMap::reverseDecodeBegin):
2681         (WebCore::SampleMap::reverseDecodeEnd):
2682
2683         Add logic to find and return the time of the next & previous sync
2684         sample, within the threshold provided:
2685         * Modules/mediasource/SourceBuffer.cpp:
2686         (WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
2687         (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
2688         (WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
2689         (WebCore::SourceBuffer::appendBufferTimerFired):
2690         (WebCore::SourceBuffer::setActive):
2691         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2692         (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
2693         (WebCore::SourceBuffer::provideMediaData):
2694         * Modules/mediasource/SourceBuffer.h:
2695         * platform/graphics/SourceBufferPrivate.h:
2696         (WebCore::SourceBufferPrivate::setActive):
2697         * platform/graphics/SourceBufferPrivateClient.h:
2698         (WebCore::SourceBufferPrivateClient::sourceBufferPrivateFastSeekTimeForMediaTime):
2699         (WebCore::SourceBufferPrivateClient::sourceBufferPrivateSeekToTime):
2700
2701         Add new files to the project:
2702         * WebCore.xcodeproj/project.pbxproj:
2703
2704         Drive-by fixes in HTMLMediaElement:
2705         * html/HTMLMediaSource.h:
2706         * html/HTMLMediaElement.cpp:
2707         (HTMLMediaElement::finishSeek): Cause the MediaSource to check the ready state of all its buffers.
2708         (HTMLMediaElement::selectNextSourceChild): Pass in whether the source element has a MediaSource URL.
2709
2710         Implement the seekWithTolerance behavior in MockMediaPlayerMediaSource:
2711         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2712         (WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble):
2713         (WebCore::MockMediaPlayerMediaSource::currentTimeDouble):
2714         (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
2715         (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):
2716         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2717         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
2718         (WebCore::MockMediaSourcePrivate::seekToTime):
2719         * platform/mock/mediasource/MockMediaSourcePrivate.h:
2720         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
2721         (WebCore::MockMediaSample::flags):
2722         (WebCore::MockSourceBufferPrivate::setActive):
2723         (WebCore::MockSourceBufferPrivate::fastSeekTimeForMediaTime):
2724         (WebCore::MockSourceBufferPrivate::seekToTime):
2725         * platform/mock/mediasource/MockSourceBufferPrivate.h:
2726
2727 2013-11-19  Jer Noble  <jer.noble@apple.com>
2728
2729         [Mac] 10X slower than Chrome when drawing a video into a canvas
2730         https://bugs.webkit.org/show_bug.cgi?id=124599
2731
2732         Reviewed by Dean Jackson.
2733
2734         Improve performance by creating a CGImageRef which directly references the CVPixelBuffer provided
2735         by AVPlayerItemVideoOutput:
2736         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2737         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2738         (WebCore::CVPixelBufferGetBytePointerCallback):
2739         (WebCore::CVPixelBufferReleaseBytePointerCallback):
2740         (WebCore::CVPixelBufferReleaseInfoCallback):
2741         (WebCore::createImageFromPixelBuffer):
2742         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
2743
2744         Additionally, when asked to paint with an AVPlayerItemVideoOutput, block until the output notifies
2745         its delegate that a pixel buffer is available:
2746         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2747         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2748         (WebCore::globalPullDelegateQueue):
2749         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2750         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
2751         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2752         (WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
2753         (WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
2754         (WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
2755         (-[WebCoreAVFPullDelegate initWithCallback:]):
2756         (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
2757         (-[WebCoreAVFPullDelegate outputSequenceWasFlushed:]):
2758         
2759         To further optimize video -> canvas drawing, add a method which can return a PassNativeImage to be
2760         drawn directly onto the canvas, rather than rendering into an intermediary context:
2761         * html/HTMLVideoElement.cpp:
2762         (WebCore::HTMLVideoElement::nativeImageForCurrentTime):
2763         * html/HTMLVideoElement.h:
2764         * html/canvas/CanvasRenderingContext2D.cpp:
2765         (WebCore::CanvasRenderingContext2D::drawImage):
2766         * platform/graphics/MediaPlayer.cpp:
2767         (WebCore::MediaPlayer::nativeImageForCurrentTime):
2768         * platform/graphics/MediaPlayer.h:
2769         * platform/graphics/MediaPlayerPrivate.h:
2770         (WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):
2771
2772 2013-11-19  Brady Eidson  <beidson@apple.com>
2773
2774         Consolidate IDBBackingStore*Interface and IDBBackingStore*LevelDB
2775         https://bugs.webkit.org/show_bug.cgi?id=124597
2776
2777         Reviewed by Alexey Proskuryakov.
2778
2779         The Interface abstraction doesn’t make sense anymore, as LevelDB will be the only implementor.
2780
2781         * Modules/indexeddb/IDBBackingStoreCursorInterface.h: Removed.
2782         * Modules/indexeddb/IDBBackingStoreInterface.h: Removed.
2783         * Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Removed.
2784
2785         * Modules/indexeddb/IDBServerConnection.h:
2786
2787         * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
2788         (WebCore::IDBBackingStoreCursorLevelDB::key):
2789         (WebCore::IDBBackingStoreCursorLevelDB::primaryKey):
2790         (WebCore::IDBBackingStoreCursorLevelDB::recordIdentifier):
2791
2792         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2793         (WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata):
2794         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
2795         (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
2796         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
2797         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
2798         (WebCore::IDBBackingStoreLevelDB::getRecord):
2799         (WebCore::IDBBackingStoreLevelDB::putRecord):
2800         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
2801         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2802         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
2803         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
2804         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2805         (WebCore::IDBBackingStoreLevelDB::createIndex):
2806         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
2807         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2808         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
2809         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
2810         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
2811         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
2812         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
2813         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
2814         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
2815         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
2816         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2817
2818         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
2819         (WebCore::IDBBackingStoreTransactionLevelDB::levelDBTransactionFrom):
2820
2821         * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp:
2822         (WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
2823         (WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
2824         (WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):
2825         * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
2826
2827         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2828         (WebCore::IDBServerConnectionLevelDB::get):
2829         (WebCore::IDBServerConnectionLevelDB::openCursor):
2830         (WebCore::IDBServerConnectionLevelDB::count):
2831         (WebCore::IDBServerConnectionLevelDB::deleteRange):
2832
2833         * WebCore.xcodeproj/project.pbxproj:
2834
2835 2013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
2836
2837         Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()
2838         https://bugs.webkit.org/show_bug.cgi?id=124595
2839
2840         Reviewed by Darin Adler.
2841
2842         Use std::unique_ptr instead, to manage the arguments passed to the create
2843         methods of SVGAnimatedType.
2844
2845         No new tests, covered by existing tests.
2846
2847         * svg/SVGAnimatedAngle.cpp:
2848         (WebCore::SVGAnimatedAngleAnimator::constructFromString): Replace bare
2849         pointer with std::unique_ptr.
2850         * svg/SVGAnimatedBoolean.cpp:
2851         (WebCore::SVGAnimatedBooleanAnimator::constructFromString): Ditto.
2852         * svg/SVGAnimatedColor.cpp:
2853         (WebCore::SVGAnimatedColorAnimator::constructFromString): Ditto.
2854         * svg/SVGAnimatedEnumeration.cpp:
2855         (WebCore::SVGAnimatedEnumerationAnimator::constructFromString): Ditto.
2856         * svg/SVGAnimatedInteger.cpp:
2857         (WebCore::SVGAnimatedIntegerAnimator::constructFromString): Ditto.
2858         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
2859         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
2860         Ditto.
2861         * svg/SVGAnimatedLength.cpp:
2862         (WebCore::SVGAnimatedLengthAnimator::constructFromString): Ditto.
2863         * svg/SVGAnimatedLengthList.cpp:
2864         (WebCore::SVGAnimatedLengthListAnimator::constructFromString): Ditto.
2865         * svg/SVGAnimatedNumber.cpp:
2866         (WebCore::SVGAnimatedNumberAnimator::constructFromString): Ditto.
2867         * svg/SVGAnimatedNumberList.cpp:
2868         (WebCore::SVGAnimatedNumberListAnimator::constructFromString): Ditto.
2869         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2870         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
2871         Ditto.
2872         * svg/SVGAnimatedPointList.cpp:
2873         (WebCore::SVGAnimatedPointListAnimator::constructFromString): Ditto.
2874         * svg/SVGAnimatedPreserveAspectRatio.cpp:
2875         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
2876         Ditto.
2877         * svg/SVGAnimatedRect.cpp:
2878         (WebCore::SVGAnimatedRectAnimator::constructFromString): Ditto.
2879         * svg/SVGAnimatedString.cpp:
2880         (WebCore::SVGAnimatedStringAnimator::constructFromString): Ditto.
2881         * svg/SVGAnimatedTransformList.cpp:
2882         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
2883         Ditto.
2884         * svg/SVGAnimatedType.cpp:
2885         (WebCore::SVGAnimatedType::createAngleAndEnumeration): Use
2886         std::unique_ptr instead of bare pointer as parameter.
2887         (WebCore::SVGAnimatedType::createBoolean): Ditto.
2888         (WebCore::SVGAnimatedType::createColor): Ditto.
2889         (WebCore::SVGAnimatedType::createEnumeration): Ditto.
2890         (WebCore::SVGAnimatedType::createInteger): Ditto.
2891         (WebCore::SVGAnimatedType::createIntegerOptionalInteger): Ditto.
2892         (WebCore::SVGAnimatedType::createLength): Ditto.
2893         (WebCore::SVGAnimatedType::createLengthList): Ditto.
2894         (WebCore::SVGAnimatedType::createNumber): Ditto.
2895         (WebCore::SVGAnimatedType::createNumberList): Ditto.
2896         (WebCore::SVGAnimatedType::createNumberOptionalNumber): Ditto.
2897         (WebCore::SVGAnimatedType::createPointList): Ditto.
2898         (WebCore::SVGAnimatedType::createPreserveAspectRatio): Ditto.
2899         (WebCore::SVGAnimatedType::createRect): Ditto.
2900         (WebCore::SVGAnimatedType::createString): Ditto.
2901         (WebCore::SVGAnimatedType::createTransformList): Ditto.
2902         * svg/SVGAnimatedType.h: Use std::unique_ptr as parameter in the
2903         create methods.
2904         * svg/SVGAnimatedTypeAnimator.h:
2905         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue): Make
2906         helper return std::unique_ptr instead of bare pointer.
2907         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues): Ditto.
2908
2909 2013-11-19  Hans Muller  <hmuller@adobe.com>
2910
2911         [CSS Shapes] Refactor RectangleShape
2912         https://bugs.webkit.org/show_bug.cgi?id=124416
2913
2914         Privatize and rename the FloatRoundedRect class defined in RectangleShape.h.
2915         The new class is called RectangleShape::ShapeBounds. This change enables
2916         creating a proper FloatRoundedRect analog of the existing RoundedRect class;
2917         part of adding support for box shapes, per the latest CSS spec.
2918
2919         Reviewed by Dean Jackson.
2920
2921         No new tests, just refactoring.
2922
2923         * rendering/shapes/RectangleShape.cpp:
2924         (WebCore::RectangleShape::ShapeBounds::paddingBounds):
2925         (WebCore::RectangleShape::ShapeBounds::marginBounds):
2926         (WebCore::RectangleShape::ShapeBounds::cornerInterceptForWidth):
2927         (WebCore::RectangleShape::shapePaddingBounds):
2928         (WebCore::RectangleShape::shapeMarginBounds):
2929         (WebCore::RectangleShape::getExcludedIntervals):
2930         (WebCore::RectangleShape::getIncludedIntervals):
2931         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
2932         * rendering/shapes/RectangleShape.h:
2933         (WebCore::RectangleShape::ShapeBounds::ShapeBounds):
2934         (WebCore::RectangleShape::ShapeBounds::rx):
2935         (WebCore::RectangleShape::ShapeBounds::ry):
2936
2937 2013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
2938
2939         Mark classes deriving from SVGAnimatedTypeAnimator as FINAL
2940         https://bugs.webkit.org/show_bug.cgi?id=124456
2941
2942         Reviewed by Darin Adler.
2943
2944         Also add OVERRIDE to their virtual methods appropriately and remove
2945         existing empty virtual destructors.
2946
2947         No new tests, covered by existing ones.
2948
2949         * svg/SVGAnimatedAngle.h:
2950         * svg/SVGAnimatedBoolean.h:
2951         * svg/SVGAnimatedColor.h:
2952         * svg/SVGAnimatedEnumeration.h:
2953         * svg/SVGAnimatedInteger.h:
2954         * svg/SVGAnimatedIntegerOptionalInteger.h:
2955         * svg/SVGAnimatedLength.h:
2956         * svg/SVGAnimatedLengthList.h:
2957         * svg/SVGAnimatedNumber.h:
2958         * svg/SVGAnimatedNumberList.h:
2959         * svg/SVGAnimatedNumberOptionalNumber.h:
2960         * svg/SVGAnimatedPath.h:
2961         * svg/SVGAnimatedPointList.h:
2962         * svg/SVGAnimatedPreserveAspectRatio.h:
2963         * svg/SVGAnimatedRect.h:
2964         * svg/SVGAnimatedString.h:
2965         * svg/SVGAnimatedTransformList.h:
2966
2967 2013-11-19  Brady Eidson  <beidson@apple.com>
2968
2969         Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
2970         https://bugs.webkit.org/show_bug.cgi?id=124562
2971
2972         Reviewed by Alexey Proskuryakov.
2973
2974         Export some more symbols and headers for WK2 to use.
2975
2976         * WebCore.exp.in:
2977         * WebCore.xcodeproj/project.pbxproj:
2978
2979 2013-11-19  Frédéric Wang  <fred.wang@free.fr>
2980
2981         Map the dir attribute to the CSS direction property.
2982         https://bugs.webkit.org/show_bug.cgi?id=124572.
2983
2984         Reviewed by Darin Adler.
2985
2986         Tests: mathml/presentation/direction-overall.html
2987                mathml/presentation/direction-token.html
2988                mathml/presentation/direction.html
2989
2990         * mathml/MathMLElement.cpp:
2991         (WebCore::MathMLElement::isPresentationAttribute): add dir
2992         (WebCore::MathMLElement::collectStyleForPresentationAttribute): map dir
2993         * mathml/mathattrs.in: add the dir attribute
2994         * mathml/mathtags.in: add the mstyle tag (needed to use mstyleTag)
2995
2996 2013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
2997
2998         [SVG] Convert OwnPtr/PassOwnPtr to std::unique_ptr
2999         https://bugs.webkit.org/show_bug.cgi?id=124382
3000
3001         Reviewed by Darin Adler.
3002
3003         The files modified are mostly under WebCore/svg/; in a few cases, some
3004         "external" files needed changes as well.
3005
3006         No new tests, covered by existing ones.
3007
3008         * css/CSSFontFaceSource.cpp:
3009         * loader/cache/CachedImage.cpp:
3010         * loader/cache/CachedImage.h:
3011         * platform/graphics/SimpleFontData.cpp:
3012         * platform/graphics/SimpleFontData.h:
3013         * rendering/svg/RenderSVGResourceContainer.cpp:
3014         * svg/SVGAnimateElement.cpp:
3015         * svg/SVGAnimateElement.h:
3016         * svg/SVGAnimatedAngle.cpp:
3017         * svg/SVGAnimatedAngle.h:
3018         * svg/SVGAnimatedBoolean.cpp:
3019         * svg/SVGAnimatedBoolean.h:
3020         * svg/SVGAnimatedColor.cpp:
3021         * svg/SVGAnimatedColor.h:
3022         * svg/SVGAnimatedEnumeration.cpp:
3023         * svg/SVGAnimatedEnumeration.h:
3024         * svg/SVGAnimatedInteger.cpp:
3025         * svg/SVGAnimatedInteger.h:
3026         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
3027         * svg/SVGAnimatedIntegerOptionalInteger.h:
3028         * svg/SVGAnimatedLength.cpp:
3029         * svg/SVGAnimatedLength.h:
3030         * svg/SVGAnimatedLengthList.cpp:
3031         * svg/SVGAnimatedLengthList.h:
3032         * svg/SVGAnimatedNumber.cpp:
3033         * svg/SVGAnimatedNumber.h:
3034         * svg/SVGAnimatedNumberList.cpp:
3035         * svg/SVGAnimatedNumberList.h:
3036         * svg/SVGAnimatedNumberOptionalNumber.cpp:
3037         * svg/SVGAnimatedNumberOptionalNumber.h:
3038         * svg/SVGAnimatedPath.cpp:
3039         * svg/SVGAnimatedPath.h:
3040         * svg/SVGAnimatedPointList.cpp:
3041         * svg/SVGAnimatedPointList.h:
3042         * svg/SVGAnimatedPreserveAspectRatio.cpp:
3043         * svg/SVGAnimatedPreserveAspectRatio.h:
3044         * svg/SVGAnimatedRect.cpp:
3045         * svg/SVGAnimatedRect.h:
3046         * svg/SVGAnimatedString.cpp:
3047         * svg/SVGAnimatedString.h:
3048         * svg/SVGAnimatedTransformList.cpp:
3049         * svg/SVGAnimatedTransformList.h:
3050         * svg/SVGAnimatedType.cpp:
3051         * svg/SVGAnimatedType.h:
3052         * svg/SVGAnimatedTypeAnimator.cpp:
3053         * svg/SVGAnimatedTypeAnimator.h:
3054         * svg/SVGAnimatorFactory.h:
3055         * svg/SVGDocumentExtensions.cpp:
3056         * svg/SVGDocumentExtensions.h:
3057         * svg/SVGFontData.h:
3058         * svg/SVGFontElement.cpp:
3059         * svg/SVGFontElement.h:
3060         * svg/SVGGraphicsElement.cpp:
3061         * svg/SVGGraphicsElement.h:
3062         * svg/SVGPathByteStreamSource.h:
3063         * svg/SVGPathParser.h:
3064         * svg/SVGPathSegListSource.h:
3065         * svg/SVGPathStringSource.h:
3066         * svg/SVGPathUtilities.cpp:
3067         * svg/SVGPathUtilities.h:
3068         * svg/animation/SMILTimeContainer.cpp:
3069         * svg/animation/SMILTimeContainer.h:
3070         * svg/graphics/SVGImage.cpp:
3071         * svg/graphics/SVGImage.h:
3072         * svg/graphics/SVGImageCache.h:
3073         * svg/properties/SVGAttributeToPropertyMap.cpp:
3074         * svg/properties/SVGAttributeToPropertyMap.h:
3075
3076 2013-11-19  Zoltan Horvath  <zoltan@webkit.org>
3077
3078         Add LineInlineHeaders.h to WebCore.xcodeproj
3079         <https://webkit.org/b/124460>
3080
3081         Reviewed by Csaba Osztrogonác.
3082
3083         LineInlineHeaders.h (r159354) hasn't been added to WebCore.xcodeproj. This patch adds to it.
3084
3085         No new tests, no behavior change.
3086
3087         * WebCore.xcodeproj/project.pbxproj:
3088
3089 2013-11-19  Krzysztof Czech  <k.czech@samsung.com>
3090
3091         [AX] Use std::unique_ptr to manage AXComputedObjectAttributeCache
3092         https://bugs.webkit.org/show_bug.cgi?id=124404
3093
3094         Reviewed by Mario Sanchez Prada.
3095
3096         Convert OwnPtr/PassOwnPtr to std::unique_ptr.
3097
3098         * accessibility/AXObjectCache.cpp:
3099         (WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
3100         (WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
3101         * accessibility/AXObjectCache.h:
3102         (WebCore::AXComputedObjectAttributeCache::AXComputedObjectAttributeCache):
3103
3104 2013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
3105
3106         Add more assertions with security implications in DocumentOrderedMap
3107         https://bugs.webkit.org/show_bug.cgi?id=124559
3108
3109         Reviewed by Antti Koivisto.
3110
3111         Assert that newly added elements and existing elements in the document ordered map are in the same tree scope
3112         as the document ordered map. Also exit early if we're about to add an element in a wrong document to the map.
3113         We don't exit early in get() because the damage has already been done at that point (the element may have been
3114         deleted already).
3115
3116         * dom/Document.cpp:
3117         (WebCore::Document::addImageElementByLowercasedUsemap):
3118         * dom/DocumentOrderedMap.cpp:
3119         (WebCore::DocumentOrderedMap::add): Assert that the newly added element is in the current tree scope.
3120         Also exit early if either the element is not in the tree scope or not in the right document.
3121         While this doesn't make the function completely fault safe, it'll catch when we try to add a detached node.
3122         (WebCore::DocumentOrderedMap::remove): Convert existing assertions to ones with security implication.
3123         (WebCore::DocumentOrderedMap::get): Assert with security implication that the element we're about to return
3124         is in the current tree scope. The element may have already been deleted if we ever hit these assertions.
3125         (WebCore::DocumentOrderedMap::getAllElementsById):  Convert an existing assertion to an assertion with security
3126         implication.
3127         * dom/DocumentOrderedMap.h:
3128         * dom/TreeScope.cpp:
3129         (WebCore::TreeScope::addElementById):
3130         (WebCore::TreeScope::addElementByName):
3131         (WebCore::TreeScope::addImageMap):
3132         (WebCore::TreeScope::addLabel):
3133         * html/HTMLDocument.cpp:
3134         (WebCore::HTMLDocument::addDocumentNamedItem):
3135         (WebCore::HTMLDocument::addWindowNamedItem):
3136         * html/HTMLImageElement.cpp:
3137         (WebCore::HTMLImageElement::insertedInto): Set InTreeScope flag before calling addImageElementByLowercasedUsemap.
3138         * html/HTMLMapElement.cpp:
3139         (WebCore::HTMLMapElement::insertedInto): Ditto for addImageMap.
3140
3141 2013-11-18  Commit Queue  <commit-queue@webkit.org>
3142
3143         Unreviewed, rolling out r159455.
3144         http://trac.webkit.org/changeset/159455
3145         https://bugs.webkit.org/show_bug.cgi?id=124568
3146
3147         broke two api tests (see bug 124564) (Requested by thorton on
3148         #webkit).
3149
3150         * CMakeLists.txt:
3151         * GNUmakefile.list.am:
3152         * WebCore.exp.in:
3153         * WebCore.vcxproj/WebCore.vcxproj:
3154         * WebCore.vcxproj/WebCore.vcxproj.filters:
3155         * WebCore.xcodeproj/project.pbxproj:
3156         * bindings/objc/DOM.mm:
3157         (-[DOMNode renderedImage]):
3158         (-[DOMRange renderedImageForcingBlackText:]):
3159         * dom/Clipboard.cpp:
3160         (WebCore::Clipboard::createDragImage):
3161         * dom/ClipboardMac.mm:
3162         (WebCore::Clipboard::createDragImage):
3163         * page/DragController.cpp:
3164         (WebCore::DragController::startDrag):
3165         * page/Frame.cpp:
3166         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
3167         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
3168         (WebCore::Frame::nodeImage):
3169         (WebCore::Frame::dragImageForSelection):
3170         * page/Frame.h:
3171         * page/FrameSnapshotting.cpp: Removed.
3172         * page/FrameSnapshotting.h: Removed.
3173         * page/mac/FrameMac.mm: Copied from Source/WebCore/page/win/FrameWin.h.
3174         (WebCore::Frame::nodeImage):
3175         (WebCore::Frame::dragImageForSelection):
3176         * page/mac/FrameSnapshottingMac.h: Copied from Source/WebCore/page/win/FrameWin.h.
3177         * page/mac/FrameSnapshottingMac.mm: Added.
3178         (WebCore::imageFromRect):
3179         (WebCore::selectionImage):
3180         (WebCore::rangeImage):
3181         (WebCore::snapshotDragImage):
3182         * page/win/FrameWin.cpp:
3183         (WebCore::Frame::dragImageForSelection):
3184         (WebCore::Frame::nodeImage):
3185         * page/win/FrameWin.h:
3186         * platform/DragImage.cpp:
3187         (WebCore::fitDragImageToMaxSize):
3188         (WebCore::createDragImageForLink):
3189         * platform/DragImage.h:
3190
3191 2013-11-18  Mark Rowe  <mrowe@apple.com>
3192
3193         Use hw.activecpu for determining how many processes to spawn.
3194
3195         It's documented as the preferred way to determine the number of threads
3196         or processes to create in a SMP aware application.
3197
3198         Rubber-stamped by Tim Horton.
3199
3200         * WebCore.xcodeproj/project.pbxproj:
3201
3202 2013-11-18  Samuel White  <samuel_white@apple.com>
3203
3204         AX: aria-labelledby should be used in preference to aria-labeledby
3205         https://bugs.webkit.org/show_bug.cgi?id=62351
3206
3207         Reviewed by Chris Fleizach.
3208
3209         Making sure aria-labelled by overrides the incorrectly spelled aria-labeledby attribute.
3210
3211         Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
3212
3213         * accessibility/AccessibilityNodeObject.cpp:
3214         (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
3215
3216 2013-11-18  Zalan Bujtas  <zalan@apple.com>
3217
3218         use after free in WebCore::DocumentOrderedMap::remove / WebCore::TreeScope::removeElementById
3219         https://bugs.webkit.org/show_bug.cgi?id=121324
3220
3221         Reviewed by Ryosuke Niwa.
3222
3223         Update the document ordered map for an image element before dispatching load or error events
3224         when it's inserted into a document.
3225
3226         Test: fast/dom/modify-node-and-while-in-the-callback-too-crash.html
3227
3228         * dom/DocumentOrderedMap.cpp: defensive fix to avoid use after free issues.
3229         (WebCore::DocumentOrderedMap::remove):
3230         * html/HTMLImageElement.cpp:
3231         (WebCore::HTMLImageElement::insertedInto):
3232         * loader/ImageLoader.cpp:
3233         (WebCore::ImageLoader::updateFromElement): setting m_failedLoadURL makes
3234         repeated updateFromElement calls return early.
3235
3236 2013-11-18  Benjamin Poulain  <bpoulain@apple.com>
3237
3238         Upstream iOS's ResourceHandle implementation
3239         https://bugs.webkit.org/show_bug.cgi?id=124554
3240
3241         Reviewed by Sam Weinig.
3242
3243         * platform/network/ResourceHandle.h:
3244         (WebCore::ResourceHandle::quickLookHandle):
3245         (WebCore::ResourceHandle::setQuickLookHandle):
3246         * platform/network/ResourceHandleClient.h:
3247         (WebCore::ResourceHandleClient::connectionProperties):
3248         (WebCore::ResourceHandleClient::shouldCacheResponse):
3249         * platform/network/ResourceHandleInternal.h:
3250         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3251         * platform/network/cf/ResourceHandleCFNet.cpp:
3252         (WebCore::synthesizeRedirectResponseIfNecessary):
3253         (WebCore::willSendRequest):
3254         (WebCore::didReceiveResponse):
3255         (WebCore::didReceiveDataArray):
3256         (WebCore::didReceiveData):
3257         (WebCore::didFinishLoading):
3258         (WebCore::didFail):
3259         (WebCore::willCacheResponse):
3260         (WebCore::canRespondToProtectionSpace):
3261         (WebCore::ResourceHandle::createCFURLConnection):
3262         (WebCore::ResourceHandle::start):
3263         (WebCore::ResourceHandle::willSendRequest):
3264         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3265         (WebCore::ResourceHandle::currentRequest):
3266         (WebCore::ResourceHandle::connectionClientCallbacks):
3267
3268 2013-11-18  Commit Queue  <commit-queue@webkit.org>
3269
3270         Unreviewed, rolling out r159430.
3271         http://trac.webkit.org/changeset/159430
3272         https://bugs.webkit.org/show_bug.cgi?id=124548
3273
3274         WebCore can know nothing about nor use files from WebKit/
3275         (Requested by thorton on #webkit).
3276
3277         * DerivedSources.make:
3278
3279 2013-11-18  Brady Eidson  <beidson@apple.com>
3280
3281         Remove IDBServerConnection's deprecatedBackingStore()
3282         https://bugs.webkit.org/show_bug.cgi?id=124547
3283
3284         Reviewed by Tim Horton.
3285
3286         It is no longer needed, as the front end no longer knows about the backing store.
3287
3288         * Modules/indexeddb/IDBServerConnection.h:
3289
3290         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3291         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3292
3293 2013-11-18  Samuel White  <samuel_white@apple.com>
3294
3295         AX: Add ability to fetch only visible table rows.
3296         https://bugs.webkit.org/show_bug.cgi?id=124430
3297
3298         Reviewed by Chris Fleizach.
3299
3300         Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.
3301
3302         Test: platform/mac/accessibility/table-visible-rows.html
3303
3304         * accessibility/AccessibilityTable.cpp:
3305         (WebCore::AccessibilityTable::columnHeaders):
3306         (WebCore::AccessibilityTable::rowHeaders):
3307         (WebCore::AccessibilityTable::visibleRows):
3308         * accessibility/AccessibilityTable.h:
3309         * accessibility/AccessibilityTableRow.h:
3310         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3311         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3312
3313 2013-11-18  Simon Fraser  <simon.fraser@apple.com>
3314
3315         At some scales, opaque compositing layers have garbage pixels around the edges
3316         https://bugs.webkit.org/show_bug.cgi?id=124541
3317
3318         Reviewed by Dean Jackson.
3319         
3320         Layers get marked as having opaque contents when their background is
3321         known to paint the entire layer. However, this failed to take into
3322         account two reasons why every pixel may not get painted.
3323         
3324         First, subpixel layout can result in non-integral RenderLayer
3325         bounds, which will get rounded up to an integral GraphicsLayer
3326         size. When this happens we may not paint edge pixels.
3327         
3328         Second, at non-integral scale factors, graphics context scaling
3329         may cause us to not paint edge pixels.
3330         
3331         Fix by only marking PlatformCALayers as having opaque contents
3332         when the contentsScale of the layer is integral.
3333
3334         Not testable, because we can't guarantee to get garbage pixels
3335         in a ref test, and layer dumps show GraphicsLayer's notion of
3336         content opaqueness, not the one we set on the PlatformCALayer.
3337
3338         * platform/graphics/ca/GraphicsLayerCA.cpp:
3339         (WebCore::isIntegral):
3340         (WebCore::clampedContentsScaleForScale):
3341         (WebCore::GraphicsLayerCA::updateRootRelativeScale):
3342         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3343         (WebCore::GraphicsLayerCA::updateContentsOpaque):
3344         (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
3345         Drive-by typo fix.
3346         (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
3347         * platform/graphics/ca/GraphicsLayerCA.h:
3348         * rendering/RenderLayerBacking.cpp:
3349         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3350
3351 2013-11-18  David Hyatt  <hyatt@apple.com>
3352
3353         Add a quirk to not respect center text-align when positioning
3354
3355         <rdar://problem/15427571>
3356         https://bugs.webkit.org/show_bug.cgi?id=124522
3357
3358         Reviewed by Simon Fraser.
3359
3360         Added fast/block/legacy-text-align-position-quirk.html
3361
3362         * page/Settings.in:
3363         Add the quirk setting.
3364
3365         * rendering/RenderBlockLineLayout.cpp:
3366         (WebCore::RenderBlock::startAlignedOffsetForLine):
3367         Don't pay attention to center text-align when the quirk is set.
3368
3369 2013-11-18  Brian J. Burg  <burg@cs.washington.edu>
3370
3371         Consolidate various frame snapshot capabilities.
3372         https://bugs.webkit.org/show_bug.cgi?id=124325
3373
3374         Reviewed by Timothy Hatcher.
3375
3376         Various snapshot creation methods had duplicated code and were split
3377         between Frame, DragImage, and platform-specific implementationss.
3378         This patch puts WebCore snapshot methods into FrameSnapshotting
3379         and removes platform implementations where possible.
3380
3381         DragImage methods reuse snapshot methods where possible. Inspector
3382         will be able to take snapshots without using drag images.
3383
3384         No new tests, this is a refactoring.
3385
3386         * CMakeLists.txt:
3387         * GNUmakefile.list.am:
3388         * WebCore.exp.in:
3389         * WebCore.vcxproj/WebCore.vcxproj:
3390         * WebCore.vcxproj/WebCore.vcxproj.filters:
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * bindings/objc/DOM.mm:
3393         (-[DOMNode renderedImage]):
3394         (-[DOMRange renderedImageForcingBlackText:]):
3395         * dom/Clipboard.cpp:
3396         (WebCore::Clipboard::createDragImage):
3397         * dom/ClipboardMac.mm:
3398         (WebCore::Clipboard::createDragImage):
3399         * page/DragController.cpp:
3400         (WebCore::DragController::startDrag):
3401         * page/Frame.cpp:
3402         * page/Frame.h:
3403         * page/FrameSnapshotting.cpp: Added.
3404         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
3405         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
3406         (WebCore::snapshotFrameRect): Move most buffer logic to here.
3407         (WebCore::snapshotSelection): Moved from Frame.
3408         (WebCore::snapshotNode): Moved from Frame.
3409         * page/FrameSnapshotting.h: Added.
3410         * page/mac/FrameMac.mm: Removed.
3411         * page/mac/FrameSnapshottingMac.h: Removed.
3412         * page/mac/FrameSnapshottingMac.mm: Removed.
3413         * page/win/FrameWin.cpp: remove duplicate implementation.
3414         * page/win/FrameWin.h: Fix an incorrect parameter name.
3415         * platform/DragImage.cpp:
3416         (WebCore::ScopedNodeDragState::ScopedNodeDragState):
3417         (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
3418         (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
3419         (WebCore::createDragImageForNode):
3420         (WebCore::createDragImageForSelection):
3421         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
3422         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
3423         (WebCore::createDragImageForRange): Moved from Frame.
3424         (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
3425         (WebCore::createDragImageForLink): use nullptr.
3426
3427 2013-11-18  Brendan Long  <b.long@cablelabs.com>
3428
3429         [GStreamer] Crash when using media source
3430         https://bugs.webkit.org/show_bug.cgi?id=124525
3431
3432         Reviewed by Philippe Normand.
3433
3434         No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).
3435
3436         * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
3437         (WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()
3438
3439 2013-11-18  Brady Eidson  <beidson@apple.com>
3440
3441         Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface
3442
3443         Rubberstamped by Beth Dakin.
3444
3445         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3446
3447 2013-11-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
3448
3449         Change mediasource and mediastream modules to use nullptr
3450         https://bugs.webkit.org/show_bug.cgi?id=124530
3451
3452         Reviewed by Tim Horton.
3453
3454         No new tests needed, no behavior change.
3455