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