8c043f066c338ee2d451d13dba383e7cd21db1c4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-28  Philippe Normand  <pnormand@igalia.com>
2
3         MediaStreamTrackPrivate's m_client uninitialized
4         https://bugs.webkit.org/show_bug.cgi?id=123403
5
6         Reviewed by Eric Carlson.
7
8         No new tests, no change in functionality.
9
10         * platform/mediastream/MediaStreamTrackPrivate.cpp:
11         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
12         Initialize the m_client member variable.
13
14 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
15
16         Unreviewed. Fix make distcheck.
17
18         * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
19         css/fullscreenQuickTime.css that was removed.
20
21 2013-10-28  Antti Koivisto  <antti@apple.com>
22
23         Prepare simple line layout to support multiple runs per line
24         https://bugs.webkit.org/show_bug.cgi?id=123400
25
26         Reviewed by Andreas Kling.
27
28         Bunch of renaming and some refactoring for future support for text runs.
29
30         SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
31         SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
32         SimpleLineLayout::createLines() -> SimpleLineLayout::create()
33         RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
34         RenderText::simpleLines() -> RenderText::simpleLineLayout()
35         
36         Added resolver construction functions:
37         
38         SimpleLineLayout::runResolver()
39         SimpleLineLayout::lineResolver()
40
41 2013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>
42
43         [GTK] Expose title and alternative text for links in image maps
44         https://bugs.webkit.org/show_bug.cgi?id=84045
45
46         Reviewed by Chris Fleizach.
47
48         Change the way we decide when the title attribute should be
49         used for the accessible description, by not relying in the
50         titleTagShouldBeUsedInDescriptionField() helper function but
51         in whether we have found a visible text for it or not.
52
53         This actually mimics what the Mac port does and so makes possible
54         to share both the layout test and its expected results.
55
56         * accessibility/atk/WebKitAccessibleUtil.cpp:
57         (accessibilityDescription): Update the method to determine
58         whether the title attribute should be used for the description.
59
60 2013-10-28  Bastien Nocera <hadess@hadess.net>
61
62         Replace 0 timeouts g_timeout_add() by g_idle_add()
63         https://bugs.webkit.org/show_bug.cgi?id=123260
64
65         Reviewed by Carlos Garcia Campos.
66
67         A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
68         without the nagging feeling that the wrong API was used.
69
70         No new tests, no change in functionality.
71
72         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
73         of 0-timer.
74         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
75         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
76         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
77         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
78         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
79         * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
80         (WebCore::GtkDragAndDropHelper::handleDragLeave):
81
82 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
83
84         Re-enable simple line layout for GTK
85         https://bugs.webkit.org/show_bug.cgi?id=123388
86
87         Reviewed by Andreas Kling.
88
89         * rendering/SimpleLineLayout.cpp:
90         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
91         can use the simple line layout.
92
93 2013-10-27  Andreas Kling  <akling@apple.com>
94
95         Fix 4 asserting SVG tests after r158097.
96
97         RenderElement::setStyle() is, quite surprisingly, a virtual function
98         with a single override in RenderSVGBlock.
99         To match the old behavior, we have to rewrite the display type from
100         any inline type to block instead.
101
102         * rendering/RenderElement.cpp:
103         (WebCore::RenderElement::initializeStyle):
104
105 2013-10-27  Andreas Kling  <akling@apple.com>
106
107         Tone down overzealous assertion from r158097.
108
109         RenderElement::initializeStyle() really only cares that there are no
110         text renderers that we should be calling styleDidChange() on.
111
112         Tweak the code to only check that there are no text children.
113
114         * rendering/RenderElement.cpp:
115         (WebCore::RenderElement::initializeStyle):
116
117 2013-10-27  Antti Koivisto  <antti@apple.com>
118
119         Enable center and right text alignment for simple lines
120         https://bugs.webkit.org/show_bug.cgi?id=123398
121
122         Reviewed by Andreas Kling.
123
124         Support text-align:center and text-align:right on simple line layout path.
125
126         * rendering/SimpleLineLayout.cpp:
127         (WebCore::SimpleLineLayout::canUseFor):
128         
129             text-align:justify is still not supported.
130
131         (WebCore::SimpleLineLayout::computeLineLeft):
132         (WebCore::SimpleLineLayout::createLines):
133         
134             Do a rounding dance that matches the line boxes.
135
136         * rendering/SimpleLineLayout.h:
137         
138             Add left position to lines.
139
140         * rendering/SimpleLineLayoutResolver.h:
141         (WebCore::SimpleLineLayout::Resolver::Line::rect):
142         
143             We now do rounding during layout.
144
145         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
146
147 2013-10-27  Andreas Kling  <akling@apple.com>
148
149         Renderers should receive their style at construction.
150         <https://webkit.org/b/123396>
151
152         Pass the RenderStyle to all non-text renderer constructors.
153         After construction, initializeStyle() must be called (as a stopgap
154         measure) until we are able to do style-derived initialization
155         without virtual function calls.
156
157         With this change, RenderElement::m_style is never null. Subsequent
158         patches will add enforcement for this and also make style() return
159         a RenderStyle&.
160
161         I'm adding three FIXME's in this patch:
162
163             - createRendererIfNeeded() calls AnimationController to set up
164               the initial style manually instead of asking RenderElement's
165               setAnimatedStyle() to do it. This can probably be done in a
166               nicer way, but it's not clear yet how.
167
168             - ImageContentData::createRenderer() does a bit of unnecessary
169               work. This should be easy to clean up but got too distracting
170               to be part of this patch.
171
172             - Document::createRenderTree() creates the RenderView with an
173               initial dummy RenderStyle. I've done this because resolving
174               the document style assumes we already have a RenderView.
175
176         For styleWillChange() implementations to detect that they are
177         reacting to the initial style, I've added a hasInitializedStyle()
178         function on RenderElement. This will return false until you've
179         called initializeStyle() on the renderer. This should go away
180         along with initializeStyle() eventually.
181
182         Reviewed by Antti Koivisto.
183
184 2013-10-26  Tim Horton  <timothy_horton@apple.com>
185
186         [mac] Remove WebTiledLayer
187         https://bugs.webkit.org/show_bug.cgi?id=123395
188
189         Reviewed by Anders Carlsson.
190
191         Mac doesn't use CATiledLayer at all anymore. We have to keep
192         LayerTypeTiledLayer around for Windows, for now, but we can
193         get rid of WebTiledLayer and some related Mac-specific code.
194
195         No new tests, just removing dead code.
196
197         * WebCore.xcodeproj/project.pbxproj:
198         Remove WebTiledLayer.*
199
200         * platform/graphics/ca/PlatformCALayer.h:
201         * platform/graphics/ca/mac/PlatformCALayerMac.h:
202         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
203         (PlatformCALayerMac::PlatformCALayerMac):
204         Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
205         Remove WebTiledLayer instantiation and setup code.
206
207         * platform/graphics/mac/WebTiledLayer.h: Removed.
208         * platform/graphics/mac/WebTiledLayer.mm: Removed.
209
210 2013-10-26  Andreas Kling  <akling@apple.com>
211
212         CTTE: RenderImageResourceStyleImage always has a StyleImage.
213         <https://webkit.org/b/123390>
214
215         Codify the fact that RenderImageResourceStyleImage always wraps an
216         existing StyleImage object.
217
218         Reviewed by Antti Koivisto.
219
220 2013-10-26  Antti Koivisto  <antti@apple.com>
221
222         Revert some accidental changes.
223
224         * css/CSSFontFaceSource.cpp:
225         (WebCore::CSSFontFaceSource::getFontData):
226         * css/CSSFontSelector.cpp:
227         * css/CSSFontSelector.h:
228
229 2013-10-26  Mark Lam  <mark.lam@apple.com>
230
231         Gardening: fixed broken build.
232         https://bugs.webkit.org/show_bug.cgi?id=123354.
233
234         * css/CSSFontSelector.h:
235
236 2013-10-26  Antti Koivisto  <antti@apple.com>
237
238         fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
239         https://bugs.webkit.org/show_bug.cgi?id=123354
240
241         Reviewed by Andreas Kling.
242
243         * rendering/SimpleLineLayout.cpp:
244         (WebCore::SimpleLineLayout::canUseFor):
245         
246             Don't enable simple line layout if the primary font is loading. The code expects
247             to use the primary font metrics for all lines but those won't match the fallbacks
248             when font is not loaded.
249
250 2013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
251
252         [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
253         https://bugs.webkit.org/show_bug.cgi?id=123261
254
255         Reviewed by Gustavo Noronha Silva.
256
257         The interface function should be used instead.
258
259         * bindings/scripts/CodeGeneratorGObject.pm:
260         (GetFunctionDeprecationInformation): Helper function to return the
261         version when the function was deprecated and the function
262         replacing the deprecated one.
263         (GenerateFunction): Check if the function is deprecated to mark it
264         as such in the header and API docs.
265         * bindings/scripts/gobject-generate-headers.pl: Replace the unused
266         WEBKIT_OBSOLETE_API macro with new macros to mark function as
267         deprecated, using the glib macros so that we don't need checks for
268         the platform.
269         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
270         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
271         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
272         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
273         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
274         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
275         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
276         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
277         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
278         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
279         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
280
281 2013-10-25  Mark Lam  <mark.lam@apple.com>
282
283         DatabaseManager's ProposedDatabases need to be thread-safe.
284         https://bugs.webkit.org/show_bug.cgi?id=123313.
285
286         Reviewed by Geoffrey Garen.
287
288         No new tests.
289
290         * Modules/webdatabase/DatabaseManager.cpp:
291         (WebCore::DatabaseManager::DatabaseManager):
292         (WebCore::DatabaseManager::existingDatabaseContextFor):
293         (WebCore::DatabaseManager::registerDatabaseContext):
294         (WebCore::DatabaseManager::unregisterDatabaseContext):
295         (WebCore::DatabaseManager::didConstructDatabaseContext):
296         (WebCore::DatabaseManager::didDestructDatabaseContext):
297         (WebCore::DatabaseManager::openDatabaseBackend):
298         (WebCore::DatabaseManager::addProposedDatabase):
299         (WebCore::DatabaseManager::removeProposedDatabase):
300         (WebCore::DatabaseManager::fullPathForDatabase):
301         (WebCore::DatabaseManager::detailsForNameAndOrigin):
302         * Modules/webdatabase/DatabaseManager.h:
303
304 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
305
306         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
307         https://bugs.webkit.org/show_bug.cgi?id=123111
308
309         Reviewed by Timothy Hatcher.
310
311         * Configurations/FeatureDefines.xcconfig:
312         * WebCore.exp.in:
313
314 2013-10-25  Hans Muller  <hmuller@adobe.com>
315
316         [CSS Shapes] CORS-enabled fetch for shape image values
317         https://bugs.webkit.org/show_bug.cgi?id=123114
318
319         Reviewed by Andreas Kling.
320
321         Access to shape images is now controlled by CORS CSS shape per
322         http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
323         Previously shape images had to be same-origin.
324
325         Shape image URL access is defined by the same logic that defines
326         canvas tainting: same-origin and data URLs are allowed and images
327         with a "Access-Control-Allow-Origin:" header that's either "*" or
328         that matches the document's origin.
329
330         A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
331         ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
332         was to be undertaken. The CSSImageValue::cachedImage() method handles this
333         option by effectively setting the "Origin:" request header (see
334         updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
335         StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.
336
337         The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
338         now performs the CORS check for image valued shapes. The private
339         isOriginClean() method from CanvasRenderingContext2D has been moved to
340         the CachedImage class so that it can be shared by the Canvas and Shape
341         implementations. It checks the response headers per the CORS spec.
342
343         Test: http/tests/security/shape-image-cors.html
344
345         * css/CSSImageValue.cpp:
346         (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
347         * css/StyleResolver.cpp:
348         (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
349         * html/canvas/CanvasRenderingContext2D.cpp:
350         (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
351         * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
352         * loader/cache/CachedImage.cpp:
353         (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
354         * loader/cache/CachedImage.h:
355         * rendering/shapes/ShapeInfo.cpp:
356         (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
357         * rendering/shapes/ShapeInfo.h:
358         * rendering/shapes/ShapeInsideInfo.cpp:
359         (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
360         * rendering/shapes/ShapeOutsideInfo.cpp:
361         (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.
362
363 2013-10-25  Jer Noble  <jer.noble@apple.com>
364
365         [MSE] Fix runtime errors caused by mediasource IDL attributes.
366         https://bugs.webkit.org/show_bug.cgi?id=123352
367
368         Reviewed by Eric Carlson.
369
370         Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
371         (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.
372
373         * Modules/mediasource/MediaSource.idl:
374         * Modules/mediasource/SourceBuffer.idl:
375         * Modules/mediasource/SourceBufferList.idl:
376         * Modules/mediasource/WebKitMediaSource.idl:
377         * Modules/mediasource/WebKitSourceBufferList.idl:
378
379 2013-10-25  Jacky Jiang  <zhajiang@blackberry.com>
380
381         [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
382         https://bugs.webkit.org/show_bug.cgi?id=123349
383
384         Reviewed by George Staikos.
385         Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
386
387         Browser crashed when dereferencing null PlatformGraphicsContext*.
388         In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
389         with null PlatformGraphicsContext* and disabled painting by doing
390         context.setUpdatingControlTints(true). So we should not go further in
391         GraphicsContext::drawLineForText() if painting is disabled.
392         Check paintingDisabled() for the other functions in PathBlackBerry.cpp
393         as well; otherwise, it is likely we will crash at those places.
394
395         * platform/graphics/blackberry/PathBlackBerry.cpp:
396         (WebCore::GraphicsContext::fillPath):
397         (WebCore::GraphicsContext::strokePath):
398         (WebCore::GraphicsContext::drawLine):
399         (WebCore::GraphicsContext::drawLineForDocumentMarker):
400         (WebCore::GraphicsContext::drawLineForText):
401         (WebCore::GraphicsContext::clip):
402         (WebCore::GraphicsContext::clipPath):
403         (WebCore::GraphicsContext::canvasClip):
404         (WebCore::GraphicsContext::clipOut):
405
406 2013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
407
408         Adding platform implementation of MediaStreamTrack
409         https://bugs.webkit.org/show_bug.cgi?id=123301
410
411         Reviewed by Eric Carlson.
412
413         No new tests needed.
414
415         * CMakeLists.txt:
416         * Modules/mediastream/AudioStreamTrack.cpp:
417         (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
418
419         (WebCore::AudioStreamTrack::AudioStreamTrack):
420         * Modules/mediastream/AudioStreamTrack.h:
421         * Modules/mediastream/MediaStream.cpp:
422         (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
423         instances to create each MediaStreamTrack of MediaStream.
424
425         (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
426         MediaStreamTrackPrivate as parameter.
427
428         * Modules/mediastream/MediaStreamTrack.cpp:
429         (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
430         MediaStreamSource.
431
432         (WebCore::MediaStreamTrack::~MediaStreamTrack):
433         (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
434
435         (WebCore::MediaStreamTrack::setSource): Ditto.
436
437         (WebCore::MediaStreamTrack::id): Ditto.
438
439         (WebCore::MediaStreamTrack::label): Ditto.
440
441         (WebCore::MediaStreamTrack::enabled): Ditto.
442
443         (WebCore::MediaStreamTrack::setEnabled): Ditto.
444
445         (WebCore::MediaStreamTrack::muted): Ditto.
446
447         (WebCore::MediaStreamTrack::readonly): Ditto.
448
449         (WebCore::MediaStreamTrack::remote): Ditto.
450
451         (WebCore::MediaStreamTrack::readyState): Ditto.
452
453         (WebCore::MediaStreamTrack::states):
454         (WebCore::MediaStreamTrack::capabilities):
455         (WebCore::MediaStreamTrack::clone):
456         (WebCore::MediaStreamTrack::stopProducingData):
457         (WebCore::MediaStreamTrack::ended): Ditto.
458
459         (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
460
461         (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
462
463         (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
464         (WebCore::MediaStreamTrack::configureTrackRendering):
465         (WebCore::MediaStreamTrack::stopped): Ditto.
466
467         (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
468
469         (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
470
471         (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
472
473         * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
474
475         (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
476         (WebCore::MediaStreamTrack::privateTrack):
477         * Modules/mediastream/VideoStreamTrack.cpp:
478         (WebCore::VideoStreamTrack::create):
479         (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
480         * Modules/mediastream/VideoStreamTrack.h:
481         * platform/mediastream/MediaStreamDescriptor.cpp:
482         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
483         MediaStreamDescriptor class).
484
485         (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
486
487         (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
488
489         * platform/mediastream/MediaStreamDescriptor.h:
490         (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
491
492         (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
493
494         (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
495
496         (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
497
498         (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
499         has.
500
501         (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
502
503         (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
504         has.
505         (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
506         * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
507         * platform/mediastream/MediaStreamTrackPrivate.h: Added.
508
509 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
510
511         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
512         <https://webkit.org/b/123210>
513
514         Reviewed by David Hyatt.
515
516         I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
517         in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
518         since it's not always that reliable, what I'll will report in a separate bug.
519
520         No new tests, covered by existing tests.
521
522         * rendering/RenderBlockLineLayout.cpp:
523         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
524
525 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
526
527         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
528         <https://bugs.webkit.org/show_bug.cgi?id=123275>
529
530         Reviewed by David Hyatt.
531
532         We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
533         adjusting the first line to the shape's top. This patch adds two boolean to make that clear.
534
535         No new tests, no behavior change.
536
537         * rendering/RenderBlockLineLayout.cpp:
538         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
539
540 2013-10-25  Antti Koivisto  <antti@apple.com>
541
542         Faster way for simple line layout to check if text has fallback fonts
543         https://bugs.webkit.org/show_bug.cgi?id=123342
544
545         Reviewed by Andreas Kling.
546         
547         Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
548
549         Simple text code path test already guarantees there is no overflow. Test for fallback
550         fonts explicitly.
551
552         * platform/graphics/SimpleFontData.h:
553         
554             Make FINAL.
555
556         * rendering/RenderText.cpp:
557         * rendering/RenderText.h:
558         
559             Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
560
561         * rendering/SimpleLineLayout.cpp:
562         (WebCore::SimpleLineLayout::canUseFor):
563         
564             Check if all characters can be found from the primary font.
565
566 2013-10-25  Andreas Kling  <akling@apple.com>
567
568         SVGResourcesCache::clientDestroyed() should take a RenderElement&.
569         <https://webkit.org/b/123339>
570
571         This function is always called with an object, and that object
572         is guaranteed to never be a text renderer.
573
574         Reviewed by Antti Koivisto.
575
576 2013-10-25  Andreas Kling  <akling@apple.com>
577
578         SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
579         <https://webkit.org/b/123336>
580
581         This function is always called with an object, and that object
582         is guaranteed to never be a text renderer.
583
584         Reviewed by Antti Koivisto.
585
586 2013-10-25  Andreas Kling  <akling@apple.com>
587
588         SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
589         <https://webkit.org/b/123335>
590
591         This function is always called with an object, and that object
592         is guaranteed to never be a text renderer.
593
594         Reviewed by Antti Koivisto.
595
596 2013-10-25  Andreas Kling  <akling@apple.com>
597
598         SVG: postApplyResource() should take a RenderElement&.
599         <https://webkit.org/b/123334>
600
601         This function is always called with an object, and that object
602         is guaranteed to never be a text renderer.
603
604         Reviewed by Antti Koivisto.
605
606 2013-10-25  Antti Koivisto  <antti@apple.com>
607
608         REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
609         https://bugs.webkit.org/show_bug.cgi?id=123309
610
611         Reviewed by Andreas Kling.
612
613         Disable simple line layout on non-Mac plaforms for now.
614
615         * rendering/SimpleLineLayout.cpp:
616         (WebCore::SimpleLineLayout::canUseFor):
617
618 2013-10-24  Andreas Kling  <akling@apple.com>
619
620         SVG: applyResource() should take a RenderElement&.
621         <https://webkit.org/b/123286>
622
623         This function is always called with an object, and that object
624         is guaranteed to never be a text renderer.
625
626         Reviewed by Antti Koivisto.
627
628 2013-10-25  Andreas Kling  <akling@apple.com>
629
630         RenderElement::styleWillChange() should pass newStyle as reference.
631         <https://webkit.org/b/123332>
632
633         When styleWillChange() is called, there is always a new style getting
634         set so there's no need to handle the null style case.
635         This flushed out a couple of unnecessary checks.
636
637         Reviewed by Antti Koivisto.
638
639 2013-10-25  peavo@outlook.com  <peavo@outlook.com>
640
641         [WinCairo] Compile fixes.
642         https://bugs.webkit.org/show_bug.cgi?id=123269
643
644         Reviewed by Csaba Osztrogonác.
645
646         * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
647         (WebCore::BitmapImage::getHBITMAPOfSize):
648         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
649
650 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
651
652         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
653         https://bugs.webkit.org/show_bug.cgi?id=118620
654
655         Reviewed by Antti Koivisto.
656
657         Turns out that order is extremelly uncommon so using a Vector is
658         much less expensive. This also special-cases the much common case
659         of only having order of value 0 by using Vectors with just one
660         preallocated member.
661
662         Also added the performance test that shows a ~1% win when using a
663         vector instead of the HashSet.
664
665         * rendering/RenderFlexibleBox.cpp:
666         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
667         (WebCore::RenderFlexibleBox::layoutBlock):
668         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
669         * rendering/RenderFlexibleBox.h:
670
671 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
672
673         Non-SVG build broken after r157950
674         https://bugs.webkit.org/show_bug.cgi?id=123328
675
676         Reviewed by Xan Lopez.
677
678         The isSVGInlineTest() check should be done only if SVG is enabled.
679
680         * rendering/SimpleLineLayout.cpp:
681         (WebCore::SimpleLineLayout::canUseFor):
682
683 2013-10-24  Jer Noble  <jer.noble@apple.com>
684
685         [Mac] Add helper methods to convert CMTime <--> MediaTime
686         https://bugs.webkit.org/show_bug.cgi?id=123285
687
688         Reviewed by Eric Carlson.
689
690         Add utility methods to convert between CMTime (a rational time class) and MediaTime.
691         Once there, PlatformClockCM can now vend and accept MediaTimes for currentTime.
692
693         * platform/mac/MediaTimeMac.h:
694         * platform/mac/MediaTimeMac.cpp:
695         (WebCore::toMediaTime): Added conversion utility method.
696         (WebCore::toCMTime): Ditto.
697
698         * platform/mac/PlatformClockCM.h:
699         * platform/mac/PlatformClockCM.mm:
700         (PlatformClockCM::setCurrentMediaTime): Added.
701         (PlatformClockCM::currentMediaTime): Added.
702
703         * WebCore.xcodeproj/project.pbxproj: Add new files to project.
704
705 2013-10-24  Mark Rowe  <mrowe@apple.com>
706
707         Remove references to OS X 10.7 from Xcode configuration settings.
708
709         Now that we're not building for OS X 10.7 they're no longer needed.
710
711         Reviewed by Anders Carlsson.
712
713
714         * Configurations/Base.xcconfig:
715         * Configurations/DebugRelease.xcconfig:
716         * Configurations/FeatureDefines.xcconfig:
717         * Configurations/Version.xcconfig:
718
719 2013-10-24  Antti Koivisto  <antti@apple.com>
720
721         Cache line layout path
722         https://bugs.webkit.org/show_bug.cgi?id=123298
723
724         Reviewed by Sam Weinig.
725         
726         Determining the path can be non-trivial. Avoid computing it repeatedly on relayouts.
727
728         * rendering/RenderBlock.cpp:
729         (WebCore::RenderBlock::RenderBlock):
730         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
731         (WebCore::RenderBlock::invalidateLineLayoutPath):
732         (WebCore::RenderBlock::removeChild):
733         
734             Invalidate the path when children change.
735
736         * rendering/RenderBlock.h:
737         * rendering/RenderBlockFlow.cpp:
738         (WebCore::RenderBlockFlow::layoutInlineChildren):
739         (WebCore::RenderBlockFlow::styleDidChange):
740         
741             Invalidate the path when style changes.
742
743         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
744         (WebCore::RenderBlockFlow::ensureLineBoxes):
745         * rendering/RenderText.cpp:
746         (WebCore::RenderText::setText):
747         
748             Invalidate the path when text changes.
749
750 2013-10-24  Mark Rowe  <mrowe@apple.com>
751
752         <rdar://problem/15312643> Prepare for the mysterious future.
753
754         Reviewed by David Kilzer.
755
756
757         * Configurations/Base.xcconfig:
758         * Configurations/DebugRelease.xcconfig:
759         * Configurations/FeatureDefines.xcconfig:
760         * Configurations/Version.xcconfig:
761
762 2013-10-24  Andreas Kling  <akling@apple.com>
763
764         DocumentLoader::cachedResourceLoader() should return a reference.
765         <https://webkit.org/b/123303>
766
767         ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
768         a Ref, and have CachedResourceLoader::create return a PassRef.
769
770         Reviewed by Sam Weinig.
771
772 2013-10-24  Anders Carlsson  <andersca@apple.com>
773
774         Stop bringing in the std namespace
775         https://bugs.webkit.org/show_bug.cgi?id=123273
776
777         Reviewed by Andreas Kling.
778
779         * Modules/webaudio/AudioBufferSourceNode.cpp:
780         (WebCore::AudioBufferSourceNode::renderFromBuffer):
781         (WebCore::AudioBufferSourceNode::startGrain):
782         (WebCore::AudioBufferSourceNode::totalPitchRate):
783         * Modules/webaudio/AudioNodeInput.cpp:
784         (WebCore::AudioNodeInput::numberOfChannels):
785         * Modules/webaudio/AudioParamTimeline.cpp:
786         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
787         * Modules/webaudio/AudioScheduledSourceNode.cpp:
788         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
789         (WebCore::AudioScheduledSourceNode::stop):
790         * Modules/webaudio/AudioSummingJunction.cpp:
791         * Modules/webaudio/DelayDSPKernel.cpp:
792         (WebCore::DelayDSPKernel::process):
793         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
794         (WebCore::OfflineAudioDestinationNode::offlineRender):
795         * Modules/webaudio/OscillatorNode.cpp:
796         * Modules/webaudio/PannerNode.cpp:
797         (WebCore::PannerNode::dopplerRate):
798         * Modules/webaudio/WaveShaperDSPKernel.cpp:
799         (WebCore::WaveShaperDSPKernel::processCurve):
800         * Modules/webdatabase/DatabaseTracker.cpp:
801         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
802         * Modules/websockets/WebSocket.cpp:
803         (WebCore::saturateAdd):
804         * Modules/websockets/WebSocketChannel.cpp:
805         * Modules/websockets/WebSocketFrame.cpp:
806         (WebCore::WebSocketFrame::parseFrame):
807         * accessibility/AccessibilityARIAGrid.cpp:
808         * accessibility/AccessibilityARIAGridCell.cpp:
809         * accessibility/AccessibilityARIAGridRow.cpp:
810         * accessibility/AccessibilityList.cpp:
811         * accessibility/AccessibilityListBox.cpp:
812         * accessibility/AccessibilityListBoxOption.cpp:
813         * accessibility/AccessibilityNodeObject.cpp:
814         * accessibility/AccessibilityObject.cpp:
815         * accessibility/AccessibilityRenderObject.cpp:
816         * accessibility/AccessibilityTable.cpp:
817         (WebCore::AccessibilityTable::addChildren):
818         * accessibility/AccessibilityTableCell.cpp:
819         * accessibility/AccessibilityTableColumn.cpp:
820         * accessibility/AccessibilityTableHeaderContainer.cpp:
821         * accessibility/AccessibilityTableRow.cpp:
822         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
823         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
824         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
825         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
826         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
827         * bindings/js/JSGeolocationCustom.cpp:
828         (WebCore::setTimeout):
829         (WebCore::setMaximumAge):
830         * bindings/js/ScriptController.cpp:
831         * bindings/js/SerializedScriptValue.cpp:
832         (WebCore::writeLittleEndian):
833         (WebCore::CloneSerializer::write):
834         (WebCore::CloneDeserializer::deserialize):
835         (WebCore::CloneDeserializer::readString):
836         * css/CSSComputedStyleDeclaration.cpp:
837         (WebCore::ComputedStyleExtractor::propertyValue):
838         * css/CSSFontSelector.cpp:
839         (WebCore::CSSFontSelector::getFontFace):
840         * css/CSSGradientValue.cpp:
841         (WebCore::CSSRadialGradientValue::createGradient):
842         * css/CSSParser.cpp:
843         (WebCore::CSSParser::parseValue):
844         (WebCore::CSSParser::parseColorParameters):
845         (WebCore::CSSParser::parseHSLParameters):
846         * css/CSSReflectValue.cpp:
847         * css/DeprecatedStyleBuilder.cpp:
848         (WebCore::ApplyPropertyFontSize::applyValue):
849         * css/PropertySetCSSStyleDeclaration.cpp:
850         * css/SVGCSSParser.cpp:
851         * css/StylePropertySet.cpp:
852         (WebCore::StylePropertySet::getLayeredShorthandValue):
853         * css/StyleResolver.cpp:
854         (WebCore::StyleResolver::viewportPercentageValue):
855         * dom/CharacterData.cpp:
856         (WebCore::CharacterData::parserAppendData):
857         * dom/ContainerNode.cpp:
858         * dom/Document.cpp:
859         (WebCore::Document::minimumLayoutDelay):
860         * dom/Node.cpp:
861         (WebCore::Node::compareDocumentPosition):
862         * dom/Range.cpp:
863         (WebCore::Range::toString):
864         (WebCore::Range::textRects):
865         (WebCore::Range::textQuads):
866         * dom/ScriptedAnimationController.cpp:
867         (WebCore::ScriptedAnimationController::scheduleAnimation):
868         * dom/StyledElement.cpp:
869         (WebCore::StyledElement::makePresentationAttributeCacheKey):
870         * dom/Text.cpp:
871         * dom/ViewportArguments.cpp:
872         (WebCore::clampLengthValue):
873         (WebCore::clampScaleValue):
874         (WebCore::ViewportArguments::resolve):
875         (WebCore::computeMinimumScaleFactorForContentContained):
876         (WebCore::restrictMinimumScaleFactorToViewportSize):
877         * editing/AlternativeTextController.cpp:
878         * editing/ApplyStyleCommand.cpp:
879         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
880         * editing/CompositeEditCommand.cpp:
881         (WebCore::CompositeEditCommand::deleteInsignificantText):
882         * editing/Editor.cpp:
883         (WebCore::Editor::setComposition):
884         (WebCore::Editor::compositionRange):
885         * editing/EditorCommand.cpp:
886         (WebCore::verticalScrollDistance):
887         * editing/TextIterator.cpp:
888         (WebCore::TextIterator::handleTextNode):
889         (WebCore::TextIterator::handleTextBox):
890         (WebCore::CharacterIterator::string):
891         (WebCore::SearchBuffer::SearchBuffer):
892         (WebCore::SearchBuffer::append):
893         (WebCore::SearchBuffer::prependContext):
894         (WebCore::SearchBuffer::search):
895         * editing/VisibleUnits.cpp:
896         (WebCore::startOfParagraph):
897         * editing/htmlediting.cpp:
898         * editing/markup.cpp:
899         * fileapi/FileReaderLoader.cpp:
900         (WebCore::FileReaderLoader::didReceiveResponse):
901         (WebCore::FileReaderLoader::didReceiveData):
902         * history/BackForwardList.cpp:
903         (WebCore::BackForwardList::backListWithLimit):
904         (WebCore::BackForwardList::forwardListWithLimit):
905         * history/PageCache.cpp:
906         (WebCore::PageCache::setCapacity):
907         * html/BaseDateAndTimeInputType.cpp:
908         * html/FTPDirectoryDocument.cpp:
909         * html/HTMLAreaElement.cpp:
910         (WebCore::HTMLAreaElement::getRegion):
911         * html/HTMLElement.cpp:
912         (WebCore::HTMLElement::parseAttribute):
913         (WebCore::parseColorStringWithCrazyLegacyRules):
914         * html/HTMLFormControlElement.cpp:
915         * html/HTMLFormElement.cpp:
916         (WebCore::HTMLFormElement::getTextFieldValues):
917         * html/HTMLImageElement.cpp:
918         * html/HTMLInputElement.cpp:
919         * html/HTMLMapElement.cpp:
920         * html/HTMLMediaElement.cpp:
921         (WebCore::HTMLMediaElement::HTMLMediaElement):
922         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
923         (WebCore::HTMLMediaElement::textTrackAddCue):
924         (WebCore::HTMLMediaElement::textTrackRemoveCue):
925         (WebCore::HTMLMediaElement::rewind):
926         (WebCore::HTMLMediaElement::seek):
927         (WebCore::HTMLMediaElement::duration):
928         * html/HTMLSelectElement.cpp:
929         (WebCore::HTMLSelectElement::parseAttribute):
930         (WebCore::HTMLSelectElement::updateListBoxSelection):
931         * html/HTMLSourceElement.cpp:
932         * html/HTMLTableCellElement.cpp:
933         (WebCore::HTMLTableCellElement::colSpan):
934         (WebCore::HTMLTableCellElement::rowSpan):
935         * html/HTMLTableElement.cpp:
936         (WebCore::HTMLTableElement::parseAttribute):
937         * html/HTMLTextFormControlElement.cpp:
938         (WebCore::HTMLTextFormControlElement::setSelectionStart):
939         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
940         (WebCore::HTMLTextFormControlElement::select):
941         (WebCore::HTMLTextFormControlElement::setSelectionRange):
942         * html/HTMLTrackElement.cpp:
943         * html/ImageDocument.cpp:
944         (WebCore::ImageDocument::scale):
945         * html/InputType.cpp:
946         (WebCore::InputType::valueAsDouble):
947         * html/MediaController.cpp:
948         (MediaController::duration):
949         (MediaController::currentTime):
950         (MediaController::setCurrentTime):
951         (MediaController::updateReadyState):
952         * html/NumberInputType.cpp:
953         (WebCore::NumberInputType::setValueAsDouble):
954         (WebCore::NumberInputType::setValueAsDecimal):
955         (WebCore::NumberInputType::createStepRange):
956         * html/RangeInputType.cpp:
957         (WebCore::RangeInputType::handleKeydownEvent):
958         * html/SearchInputType.cpp:
959         (WebCore::SearchInputType::startSearchEventTimer):
960         * html/StepRange.cpp:
961         (WebCore::StepRange::clampValue):
962         (WebCore::StepRange::parseStep):
963         * html/TimeRanges.cpp:
964         * html/ValidationMessage.cpp:
965         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
966         (WebCore::adjustBubblePosition):
967         * html/canvas/CanvasRenderingContext2D.cpp:
968         (WebCore::normalizeRect):
969         * html/canvas/WebGLRenderingContext.cpp:
970         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
971         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
972         * html/shadow/MediaControlElements.cpp:
973         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
974         * html/shadow/MediaControlsApple.cpp:
975         * html/shadow/SliderThumbElement.cpp:
976         (WebCore::SliderThumbElement::setPositionFromPoint):
977         * inspector/ContentSearchUtils.cpp:
978         * inspector/DOMEditor.cpp:
979         * inspector/DOMPatchSupport.cpp:
980         (WebCore::DOMPatchSupport::diff):
981         * inspector/InjectedScriptHost.cpp:
982         * loader/ProgressTracker.cpp:
983         (WebCore::ProgressTracker::incrementProgress):
984         * loader/cache/CachedImage.cpp:
985         * page/DOMWindow.cpp:
986         (WebCore::DOMWindow::adjustWindowRect):
987         * page/EventHandler.cpp:
988         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
989         * page/FrameTree.cpp:
990         * page/FrameView.cpp:
991         (WebCore::FrameView::adjustedDeferredRepaintDelay):
992         (WebCore::FrameView::autoSizeIfEnabled):
993         * page/PrintContext.cpp:
994         (WebCore::PrintContext::computeAutomaticScaleFactor):
995         * page/SpatialNavigation.cpp:
996         (WebCore::entryAndExitPointsForDirection):
997         * page/animation/CSSPropertyAnimation.cpp:
998         (WebCore::blendFilterOperations):
999         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
1000         * platform/graphics/FloatRect.cpp:
1001         (WebCore::FloatRect::FloatRect):
1002         (WebCore::FloatRect::intersect):
1003         (WebCore::FloatRect::uniteEvenIfEmpty):
1004         (WebCore::FloatRect::extend):
1005         (WebCore::FloatRect::fitToPoints):
1006         * platform/graphics/GlyphPageTreeNode.cpp:
1007         (WebCore::GlyphPageTreeNode::initializePage):
1008         (WebCore::GlyphPageTreeNode::getChild):
1009         * platform/graphics/IntRect.cpp:
1010         (WebCore::IntRect::intersect):
1011         (WebCore::IntRect::unite):
1012         (WebCore::IntRect::uniteIfNonZero):
1013         * platform/graphics/LayoutRect.cpp:
1014         (WebCore::LayoutRect::intersect):
1015         (WebCore::LayoutRect::unite):
1016         (WebCore::LayoutRect::uniteIfNonZero):
1017         * platform/graphics/filters/FEMorphology.cpp:
1018         (WebCore::FEMorphology::platformApplyGeneric):
1019         (WebCore::FEMorphology::platformApplySoftware):
1020         * platform/mac/MemoryPressureHandlerMac.mm:
1021         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1022         * platform/text/TextCodecICU.cpp:
1023         * rendering/LineWidth.cpp:
1024         (WebCore::LineWidth::fitBelowFloats):
1025         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
1026         * rendering/RenderBlock.h:
1027         (WebCore::RenderBlock::availableLogicalWidthForLine):
1028         (WebCore::RenderBlock::availableLogicalWidthForContent):
1029         * rendering/RenderFieldset.cpp:
1030         (WebCore::RenderFieldset::computePreferredLogicalWidths):
1031         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
1032         (WebCore::RenderFieldset::paintBoxDecorations):
1033         * rendering/RenderFlowThread.cpp:
1034         (WebCore::RenderFlowThread::updateLogicalWidth):
1035         (WebCore::RenderFlowThread::addForcedRegionBreak):
1036         * rendering/RenderFrameBase.cpp:
1037         (WebCore::RenderFrameBase::layoutWithFlattening):
1038         * rendering/RenderFrameSet.cpp:
1039         (WebCore::RenderFrameSet::layOutAxis):
1040         * rendering/RenderSlider.cpp:
1041         (WebCore::RenderSlider::computePreferredLogicalWidths):
1042         * rendering/RenderTableCell.h:
1043         * rendering/RenderTreeAsText.cpp:
1044         (WebCore::writeLayers):
1045         * rendering/RootInlineBox.h:
1046         (WebCore::RootInlineBox::selectionHeight):
1047         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
1048         * rendering/mathml/RenderMathMLRow.cpp:
1049         (WebCore::RenderMathMLRow::layout):
1050         * rendering/mathml/RenderMathMLScripts.cpp:
1051         (WebCore::RenderMathMLScripts::layout):
1052         * rendering/style/RenderStyle.h:
1053         * rendering/style/StyleGeneratedImage.cpp:
1054         (WebCore::StyleGeneratedImage::imageSize):
1055         * style/StyleFontSizeFunctions.cpp:
1056         (WebCore::Style::fontSizeForKeyword):
1057         * svg/SVGSVGElement.cpp:
1058         (WebCore::SVGSVGElement::setCurrentTime):
1059
1060 2013-10-24  Andreas Kling  <akling@apple.com>
1061
1062         Uncomplicate some of SVGTextRunRenderingContext.
1063         <https://webkit.org/b/123294>
1064
1065         This class was weird about a few things, so I've taken these steps
1066         to clear things up:
1067
1068         - FINAL and OVERRIDE all the things.
1069         - Constructor now takes a RenderObject&.
1070         - renderer() now returns a RenderObject&.
1071         - drawSVGGlyphs() no longer takes a TextRun.
1072         - glyphDataForCharacter() no longer takes a TextRun.
1073
1074         To expand on the last two, there was also some awkward hoop-jumping
1075         where we'd go through the TextRun passed by argument to find its
1076         rendering context, which was really just |this| all along.
1077
1078         Reviewed by Antti Koivisto.
1079
1080 2013-10-24  Roger Fong  <roger_fong@apple.com>
1081
1082         Add texture level dependent size checks to textureImage2D calls.
1083         https://bugs.webkit.org/show_bug.cgi?id=123290
1084         <rdar://problem/15201382>
1085
1086         Reviewed by Dean Jackson
1087
1088         Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.
1089
1090         There are different size limits when calling textureImage2D on different texture levels.
1091         We should be throwing an error if our texture size exceeds these limits.
1092
1093         * html/canvas/WebGLRenderingContext.cpp:
1094         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
1095
1096 2013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1097
1098         [MediaStream API] allow a stream source to be shared
1099         https://bugs.webkit.org/show_bug.cgi?id=121954
1100
1101         Reviewed by Eric Carlson.
1102
1103         Now, the MediaStreamSource don't know about the MediaStream that owns it,
1104         since there can be more than one MediaStream that has it as source for some track.
1105         MediaStreamTrack classes now have observers registered, in case there are more than
1106         one MediaStream owning that track
1107
1108         No new tests, no change in functionality.
1109
1110         * Modules/mediastream/MediaStream.cpp:
1111         (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.
1112
1113         (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
1114         and adding the source to the MediaStreamDescriptor.
1115
1116         (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
1117         there isn't any other track using that source, if not we remove the source.
1118
1119         (WebCore::MediaStream::haveTrackWithSource):
1120         (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
1121         that uses it, so now we don't set the stream in the source anymore.
1122
1123         (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
1124         get each track that is using the source and then remove it and fire the ended event.
1125
1126         * Modules/mediastream/MediaStream.h:
1127         * Modules/mediastream/MediaStreamTrack.cpp:
1128         (WebCore::MediaStreamTrack::addObserver):
1129         (WebCore::MediaStreamTrack::removeObserver):
1130         (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
1131         notify each of its observers that the track ended.
1132
1133         * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.
1134
1135         * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
1136         each MediaStreamSource's descriptor to null.
1137
1138         (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.
1139
1140         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
1141
1142         (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended
1143
1144         * platform/mediastream/MediaStreamDescriptor.h:
1145         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
1146         * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
1147         (WebCore::MediaStreamSource::MediaStreamSource):
1148         (WebCore::MediaStreamSource::reset):
1149         * platform/mediastream/MediaStreamSource.h:
1150
1151 2013-10-24  Daniel Bates  <dabates@apple.com>
1152
1153         Crash in WebCore::NavigationScheduler::startTimer()
1154         https://bugs.webkit.org/show_bug.cgi?id=123288
1155         <rdar://problem/14055644>
1156
1157         Reviewed by Alexey Proskuryakov.
1158
1159         Currently NavigationScheduler::startTimer() synchronously notifies the client
1160         before the Web Inspector of a scheduled redirect. If a client cancels this
1161         redirect then NavigationScheduler::m_redirect will become null and we'll
1162         subsequently crash when informing the Web Inspector of this formerly scheduled
1163         redirect. Instead, NavigationScheduler::startTimer() should notify the Web
1164         Inspector before it notifies the client of a scheduled redirect.
1165
1166         As a side benefit of this change, the Web Inspector is notified of a scheduled
1167         redirect before being notified of it being canceled when a client chooses to cancel
1168         a scheduled redirect.
1169
1170         * loader/NavigationScheduler.cpp:
1171         (WebCore::NavigationScheduler::startTimer):
1172
1173 2013-10-24  Antti Koivisto  <antti@apple.com>
1174
1175         Try to fix build without CSS_SHAPES.
1176
1177         * rendering/SimpleLineLayout.cpp:
1178         (WebCore::SimpleLineLayout::canUseFor):
1179
1180 2013-10-24  Antti Koivisto  <antti@apple.com>
1181
1182         Simple line layout
1183         https://bugs.webkit.org/show_bug.cgi?id=122458
1184
1185         Reviewed by Darin Adler.
1186
1187         Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
1188         is a compact alternative data structure and fast code path to cover common cases without requiring line
1189         boxes.
1190         
1191         This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
1192         case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
1193         which path to use is made per block flow (paragraph).
1194         
1195         Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
1196         
1197         The goal is to handle everything that requires line level access in cases that allow use of simple lines.
1198         This is not quite the case yet. For example selections and outline painting are not supported. In these
1199         cases we seamlessly switch to the line boxes.
1200
1201         The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
1202         Laying out the lines is also several times faster as is iterating over them.
1203
1204         * CMakeLists.txt:
1205         * GNUmakefile.list.am:
1206         * WebCore.vcxproj/WebCore.vcxproj:
1207         * WebCore.xcodeproj/project.pbxproj:
1208         * dom/Position.cpp:
1209         (WebCore::Position::upstream):
1210         (WebCore::Position::downstream):
1211         (WebCore::Position::getInlineBoxAndOffset):
1212         
1213             Creating positions within a simple line flow causes switch to line boxes.
1214
1215         * editing/TextIterator.cpp:
1216         (WebCore::TextIterator::handleTextNode):
1217         
1218             TextIterator traverses line boxes if available. In case simple line case we need to replicate the
1219             same results (for compatibility but especially to avoid changing test results). This is done here
1220             by just traversing the string without actually using the layout.
1221
1222         * rendering/RenderBlock.cpp:
1223         (WebCore::RenderBlock::RenderBlock):
1224         (WebCore::RenderBlock::layoutShapeInsideInfo):
1225         * rendering/RenderBlock.h:
1226         * rendering/RenderBlockFlow.cpp:
1227         (WebCore::RenderBlockFlow::layoutInlineChildren):
1228         
1229             Select the layout path to use.
1230
1231         (WebCore::RenderBlockFlow::deleteLines):
1232         (WebCore::RenderBlockFlow::hitTestInlineChildren):
1233         (WebCore::RenderBlockFlow::adjustForBorderFit):
1234         (WebCore::RenderBlockFlow::firstLineBaseline):
1235         (WebCore::RenderBlockFlow::inlineBlockBaseline):
1236         (WebCore::RenderBlockFlow::inlineSelectionGaps):
1237         (WebCore::RenderBlockFlow::clearTruncation):
1238         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
1239         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
1240         (WebCore::RenderBlockFlow::paintInlineChildren):
1241         (WebCore::RenderBlockFlow::hasLines):
1242         (WebCore::RenderBlockFlow::layoutSimpleLines):
1243         
1244             Do simple layout.
1245
1246         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
1247         (WebCore::RenderBlockFlow::ensureLineBoxes):
1248         
1249             This function switches from simple lines to line boxes. The switching can be done outside normal layout.
1250             This is used to cover some cases that are not yet supported by simple lines (like selections).
1251
1252         * rendering/RenderBlockFlow.h:
1253         (WebCore::RenderBlockFlow::simpleLines):
1254         * rendering/RenderBlockLineLayout.cpp:
1255         (WebCore::RenderBlockFlow::layoutLineBoxes):
1256         
1257             Rename the line box layout function.
1258
1259         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1260         * rendering/RenderText.cpp:
1261         (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
1262         (WebCore::RenderText::absoluteRects):
1263         (WebCore::RenderText::absoluteRectsForRange):
1264         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
1265         (WebCore::RenderText::absoluteQuads):
1266         (WebCore::RenderText::absoluteQuadsForRange):
1267         (WebCore::RenderText::positionForPoint):
1268         (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
1269         (WebCore::RenderText::setSelectionState):
1270         (WebCore::RenderText::setTextWithOffset):
1271         (WebCore::RenderText::ensureLineBoxes):
1272         (WebCore::RenderText::simpleLines):
1273         (WebCore::RenderText::linesBoundingBox):
1274         (WebCore::RenderText::linesVisualOverflowBoundingBox):
1275         (WebCore::RenderText::selectionRectForRepaint):
1276         (WebCore::RenderText::caretMinOffset):
1277         (WebCore::RenderText::caretMaxOffset):
1278         (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
1279         (WebCore::RenderText::containsRenderedCharacterOffset):
1280         (WebCore::RenderText::containsCaretOffset):
1281         (WebCore::RenderText::hasRenderedText):
1282         * rendering/RenderText.h:
1283         * rendering/RenderTreeAsText.cpp:
1284         (WebCore::RenderTreeAsText::writeRenderObject):
1285         (WebCore::writeSimpleLine):
1286         (WebCore::write):
1287         * rendering/SimpleLineLayout.cpp: Added.
1288         (WebCore::SimpleLineLayout::canUseFor):
1289         
1290             This check for the cases supported by the simple line layout path.
1291
1292         (WebCore::SimpleLineLayout::isWhitespace):
1293         (WebCore::SimpleLineLayout::skipWhitespaces):
1294         (WebCore::SimpleLineLayout::textWidth):
1295         (WebCore::SimpleLineLayout::createLines):
1296         
1297             The main layout functions that breaks text to lines. It only handles the cases allowed by 
1298             SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
1299
1300         * rendering/SimpleLineLayout.h: Added.
1301         * rendering/SimpleLineLayoutFunctions.cpp: Added.
1302         (WebCore::SimpleLineLayout::paintFlow):
1303         (WebCore::SimpleLineLayout::hitTestFlow):
1304         (WebCore::SimpleLineLayout::collectFlowOverflow):
1305         (WebCore::SimpleLineLayout::computeTextBoundingBox):
1306         * rendering/SimpleLineLayoutFunctions.h: Added.
1307         (WebCore::SimpleLineLayout::computeFlowHeight):
1308         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
1309         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
1310         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
1311         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
1312         (WebCore::SimpleLineLayout::containsTextCaretOffset):
1313         (WebCore::SimpleLineLayout::isTextRendered):
1314         (WebCore::SimpleLineLayout::lineHeightFromFlow):
1315         
1316             Support functions called from RenderBlockFlow and RenderText. They are equivalent to
1317             similar line box functions.
1318
1319         (WebCore::SimpleLineLayout::baselineFromFlow):
1320         * rendering/SimpleLineLayoutResolver.h: Added.
1321         (WebCore::SimpleLineLayout::Resolver::Line::Line):
1322         (WebCore::SimpleLineLayout::Resolver::Line::rect):
1323         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
1324         (WebCore::SimpleLineLayout::Resolver::Line::text):
1325         (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
1326         (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
1327         (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
1328         (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
1329         (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
1330         (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
1331         
1332             Lazy iterator for deriving line metrics. This keeps the line data structure small as
1333             we don't need to keep easily derived values around.
1334
1335         (WebCore::SimpleLineLayout::Resolver::Resolver):
1336         (WebCore::SimpleLineLayout::Resolver::size):
1337         (WebCore::SimpleLineLayout::Resolver::begin):
1338         (WebCore::SimpleLineLayout::Resolver::end):
1339         (WebCore::SimpleLineLayout::Resolver::last):
1340         (WebCore::SimpleLineLayout::Resolver::operator[]):
1341
1342 2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
1343
1344         Gaps between underlines in adjacent underlined text runs
1345         https://bugs.webkit.org/show_bug.cgi?id=123236
1346
1347         Reviewed by Simon Fraser and Darin Adler.
1348
1349         There are two pieces to this change. The first piece is in
1350         InlineTextBox::paint(). We were putting floating-point
1351         extents into a LayoutSize, which simply uses ints (for now),
1352         and then immediately converting this back to a FloatSize.
1353         Instead, we should be using floats throughout all of
1354         this code.
1355
1356         In addition, inside GraphicsContext::drawLineForText(), we are
1357         rounding the underline to pixel boundaries so that it appears
1358         very crisp on the screen. However, we should round once after
1359         performing computations, rather than rounding twice and then
1360         performing computations on the rounded numbers.
1361
1362         Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
1363
1364         * platform/graphics/cg/GraphicsContextCG.cpp:
1365         (WebCore::GraphicsContext::drawLineForText): Change rounding mode
1366             to perform computations before rounding
1367         * rendering/InlineTextBox.cpp:
1368         (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
1369             just to convert to a FloatSize
1370
1371 2013-10-24  Andreas Kling  <akling@apple.com>
1372
1373         SVGRenderingContext should wrap a RenderElement.
1374         <https://webkit.org/b/123283>
1375
1376         The SVG rendering context class is never used with text renderers
1377         so we can have it wrap a RenderElement for tighter code.
1378
1379         Also renamed SVGRenderingContext::m_object to m_renderer.
1380
1381         Reviewed by Antti Koivisto.
1382
1383 2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
1384
1385         [contenteditable] Content after non-editable element disappears when merging lines using backspace
1386         https://bugs.webkit.org/show_bug.cgi?id=122748
1387
1388         Reviewed by Ryosuke Niwa.
1389
1390         In case of paragraph merging after deletion if second paragraph
1391         contains non-editable element, then content after the non-editable
1392         element(including non-editable element) will be removed while the
1393         content before the element will be merged with the first paragraph.
1394         This happens becasue endOfParagraphToMove calculation in merging function
1395         stop at editing boundary so endOfParagraphToMove becomes position just
1396         before non-editable content.
1397         With this patch now endOfParagraphToMove is calculated by skipping
1398         over the non-editable element.
1399
1400         Test: editing/deleting/merge-paragraph-contatining-noneditable.html
1401
1402         * editing/DeleteSelectionCommand.cpp:
1403         (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
1404         condition while calculating endOfParagraphToMove.
1405
1406 2013-10-24  Antoine Quint  <graouts@apple.com>
1407
1408         Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
1409         https://bugs.webkit.org/show_bug.cgi?id=123263
1410
1411         Reviewed by Timothy Hatcher.
1412
1413         A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
1414         which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
1415         that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
1416         frontend, and as a result we would try to dispatch an event with an unprefixed event type to
1417         the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
1418         unprefixed type.
1419
1420         We now move the call to InspectorInstrumentation::willDispatchEvent() in
1421         EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
1422         correct event type and list of listeners is used to determine what event to dispatch to the frontend.
1423
1424         * dom/EventDispatcher.cpp:
1425         (WebCore::EventDispatcher::dispatchEvent):
1426         Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
1427
1428         * dom/EventTarget.cpp:
1429         (WebCore::EventTarget::fireEventListeners):
1430         Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
1431         call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
1432         getting references to the ScriptExecutionContext and Document upfront now.
1433
1434 2013-10-24  Andreas Kling  <akling@apple.com>
1435
1436         SVG: RenderElement-ize intersectRepaintRectWithResources().
1437         <https://webkit.org/b/123278>
1438
1439         SVGRenderSupport::intersectRepaintRectWithResources() is only ever
1440         called with non-text renderers so make it take RenderElement&.
1441
1442         Had to tweak RenderSVGResource::resourceBoundingBox() to take the
1443         renderer by reference.
1444
1445         Reviewed by Antti Koivisto.
1446
1447 2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
1448
1449         Web Inspector: Breakpoints in sourceURL named scripts do not work
1450         https://bugs.webkit.org/show_bug.cgi?id=123231
1451
1452         Reviewed by Timothy Hatcher.
1453
1454         Remember a Script's sourceURL and sourceMappingURL. When setting a
1455         breakpoint by URL, check it against the sourceURL or original URL.
1456         If a script had a sourceURL that would have been the only URL sent
1457         to the frontend, so that receives priority.
1458
1459         Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
1460
1461         * inspector/InspectorDebuggerAgent.cpp:
1462         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1463         (WebCore::InspectorDebuggerAgent::didParseSource):
1464         * inspector/InspectorDebuggerAgent.h:
1465         * inspector/ScriptDebugListener.h:
1466
1467 2013-10-23  Alexey Proskuryakov  <ap@apple.com>
1468
1469         Add CryptoKey base class and bindings
1470         https://bugs.webkit.org/show_bug.cgi?id=123216
1471
1472         Reviewed by Sam Weinig.
1473
1474         * crypto/CryptoKey.idl: Added.
1475
1476         * CMakeLists.txt:
1477         * DerivedSources.make:
1478         * GNUmakefile.list.am:
1479         Process the IDL.
1480
1481         * WebCore.xcodeproj/project.pbxproj: Added files.
1482
1483         * bindings/js/JSCryptoKeyCustom.cpp: Added.
1484         (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
1485         for the key.
1486
1487         * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
1488         * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
1489         An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
1490         and possibly also for storage serialization. Not complete yet, we'll need support
1491         for a few more simple types, and less trivially, for nested algorithms.
1492
1493         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
1494         * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
1495         An implementation that builds an algorithm description dictionary for JS bindings.
1496
1497         * crypto/CryptoKey.cpp: Added.
1498         (WebCore::CryptoKey::~CryptoKey):
1499         (WebCore::CryptoKey::buildAlgorithmDescription):
1500         * crypto/CryptoKey.h: Added.
1501         Added an almost empty implementation. Some of the functions that are currently
1502         marked as pure virtual will likely be implemented in this base class.
1503
1504 2013-10-24  Commit Queue  <commit-queue@webkit.org>
1505
1506         Unreviewed, rolling out r157916.
1507         http://trac.webkit.org/changeset/157916
1508         https://bugs.webkit.org/show_bug.cgi?id=123274
1509
1510         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
1511         by ap on #webkit).
1512
1513         * rendering/RenderFlexibleBox.cpp:
1514         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
1515         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
1516         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
1517         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
1518         (WebCore::RenderFlexibleBox::layoutBlock):
1519         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1520         * rendering/RenderFlexibleBox.h:
1521
1522 2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
1523
1524         Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
1525         https://bugs.webkit.org/show_bug.cgi?id=123252
1526
1527         Reviewed by Darin Adler.
1528
1529         Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
1530         the calling convention in C++ is left unspecified. The problem was already fixed in r157219
1531         and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
1532
1533         * dom/ScopedEventQueue.cpp:
1534         (WebCore::ScopedEventQueue::dispatchEvent):
1535
1536 2013-10-24  Alex Christensen  <achristensen@webkit.org>
1537
1538         Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
1539         https://bugs.webkit.org/show_bug.cgi?id=123246
1540
1541         Reviewed by Noam Rosenthal.
1542
1543         * WebCore.vcxproj/WebCore.vcxproj:
1544         * WebCore.vcxproj/WebCore.vcxproj.filters:
1545         Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
1546         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
1547         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
1548         * platform/network/curl/CertificateInfoCurl.cpp: Removed.
1549
1550 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1551
1552         Removed Qt workaround.
1553         https://bugs.webkit.org/show_bug.cgi?id=123258
1554
1555         Reviewed by Csaba Osztrogonác.
1556
1557         No change of functionality, no new tests needed.
1558
1559         !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
1560         all ports (Mac,EFL,GTK,Windows) call this script with --defines option now
1561
1562         * css/make-css-file-arrays.pl:
1563
1564 2013-10-24  Antti Koivisto  <antti@apple.com>
1565
1566         Remove a stray space.
1567         
1568         Not reviewed.
1569
1570         * accessibility/AccessibilityRenderObject.cpp:
1571         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1572
1573 2013-10-24  Antti Koivisto  <antti@apple.com>
1574
1575         Element iterator functions should take reference
1576         https://bugs.webkit.org/show_bug.cgi?id=123267
1577
1578         Reviewed by Andreas Kling.
1579
1580         The argument has to be non-null.
1581
1582 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
1583
1584         [EFL] Build break with latest EFL 1.8 libraries.
1585         https://bugs.webkit.org/show_bug.cgi?id=123245
1586
1587         Reviewed by Gyuyoung Kim.
1588
1589         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
1590         Eo typedef and splitted header files which contain version macro.
1591
1592         * platform/Widget.h: Changed Eo typedef.
1593         * platform/efl/EflScreenUtilities.h: Ditto.
1594         * platform/graphics/Image.h: Ditto.
1595
1596 2013-10-24  Andreas Kling  <akling@apple.com>
1597
1598         RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
1599         <https://webkit.org/b/123242>
1600
1601         We never pass text renderers to these functions, so make them take
1602         RenderElement instead.
1603
1604         Reviewed by Anders Carlsson.
1605
1606 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1607
1608         [GObject bindings] Make EventTarget interface introspectable
1609         https://bugs.webkit.org/show_bug.cgi?id=77835
1610
1611         Reviewed by Gustavo Noronha Silva.
1612
1613         Add webkit_dom_event_target_add_event_listener_with_closure and
1614         webkit_dom_event_target_remove_event_listener_with_closure to be
1615         used by GObject instrospection bindings. Instead of receving a
1616         GCallback, which makes the function not introspectable, they
1617         receive a GClosure.
1618
1619         * bindings/gobject/GObjectEventListener.cpp:
1620         (WebCore::GObjectEventListener::GObjectEventListener):
1621         (WebCore::GObjectEventListener::~GObjectEventListener):
1622         (WebCore::GObjectEventListener::gobjectDestroyed):
1623         (WebCore::GObjectEventListener::handleEvent):
1624         (WebCore::GObjectEventListener::operator==):
1625         * bindings/gobject/GObjectEventListener.h:
1626         (WebCore::GObjectEventListener::addEventListener):
1627         (WebCore::GObjectEventListener::removeEventListener):
1628         * bindings/gobject/WebKitDOMEventTarget.cpp:
1629         (webkit_dom_event_target_dispatch_event):
1630         (webkit_dom_event_target_add_event_listener):
1631         (webkit_dom_event_target_remove_event_listener):
1632         (webkit_dom_event_target_add_event_listener_with_closure):
1633         (webkit_dom_event_target_remove_event_listener_with_closure):
1634         * bindings/gobject/WebKitDOMEventTarget.h:
1635         * bindings/scripts/CodeGeneratorGObject.pm:
1636         (GenerateEventTargetIface):
1637         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1638         (webkit_dom_test_event_target_dispatch_event):
1639         (webkit_dom_test_event_target_add_event_listener):
1640         (webkit_dom_test_event_target_remove_event_listener):
1641         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
1642         (webkit_dom_test_node_dispatch_event):
1643         (webkit_dom_test_node_add_event_listener):
1644         (webkit_dom_test_node_remove_event_listener):
1645
1646 2013-10-14  Sergio Villar Senin  <svillar@igalia.com>
1647
1648         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
1649         https://bugs.webkit.org/show_bug.cgi?id=118620
1650
1651         Reviewed by Antti Koivisto.
1652
1653         Turns out that order is extremelly uncommon so using a Vector is
1654         much less expensive. This also special-cases the much common case
1655         of only having order of value 0 by using Vectors with just one
1656         preallocated member.
1657
1658         Also added the performance test that shows a ~1% win when using a
1659         vector instead of the HashSet.
1660
1661         * rendering/RenderFlexibleBox.cpp:
1662         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
1663         (WebCore::RenderFlexibleBox::layoutBlock):
1664         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1665         * rendering/RenderFlexibleBox.h:
1666
1667 2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
1668
1669         Unreviewed build fix since r157823.
1670         FilterOperation::getOperationType() is renamed FilterOperation::type().
1671
1672         * platform/graphics/texmap/TextureMapperGL.cpp:
1673         (WebCore::prepareFilterProgram):
1674         (WebCore::TextureMapperGL::drawTexture):
1675         (WebCore::TextureMapperGL::drawUsingCustomFilter):
1676         (WebCore::TextureMapperGL::drawFiltered):
1677         (WebCore::BitmapTextureGL::applyFilters):
1678         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1679         (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):
1680
1681 2013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
1682
1683         Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.
1684
1685         When CMAKE_BUILD_TYPE is empty, FIND command will be failed.
1686
1687         * CMakeLists.txt:
1688
1689 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1690
1691         Integrate css3-images image-orientation with existing EXIF support
1692         https://bugs.webkit.org/show_bug.cgi?id=91566
1693
1694         Reviewed by Beth Dakin.
1695
1696         Original patch by David Barr(davidbarr@chromium.org).
1697
1698         This patch passes an information of image orientation into existing EXIF support functions
1699         (draw() functions of image classes mainly). We need to let the functions to know the information
1700         in order to meet the image-orientation requirement.
1701
1702         Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
1703         The css3-images module specification is at last call.
1704
1705         Test: fast/css/image-orientation/image-orientation.html
1706         Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.
1707
1708         * loader/cache/CachedImage.cpp:
1709         (WebCore::CachedImage::imageSizeForRenderer):
1710         * page/DragController.cpp:
1711         (WebCore::DragController::doImageDrag):
1712         * page/Frame.cpp:
1713         (WebCore::Frame::nodeImage):
1714         * platform/graphics/BitmapImage.cpp:
1715         (WebCore::BitmapImage::updateSize):
1716         (WebCore::BitmapImage::sizeRespectingOrientation):
1717         (WebCore::BitmapImage::drawPattern):
1718         * platform/graphics/BitmapImage.h:
1719         * platform/graphics/CrossfadeGeneratedImage.cpp:
1720         (WebCore::CrossfadeGeneratedImage::draw):
1721         * platform/graphics/CrossfadeGeneratedImage.h:
1722         * platform/graphics/GeneratedImage.h:
1723         * platform/graphics/GradientImage.cpp:
1724         (WebCore::GradientImage::draw):
1725         * platform/graphics/GradientImage.h:
1726         * platform/graphics/Image.cpp:
1727         (WebCore::Image::draw):
1728         (WebCore::Image::drawTiled):
1729         * platform/graphics/Image.h:
1730         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1731         * platform/graphics/cairo/BitmapImageCairo.cpp:
1732         (WebCore::BitmapImage::draw):
1733         * platform/graphics/cg/BitmapImageCG.cpp:
1734         * platform/graphics/cg/PDFDocumentImage.cpp:
1735         (WebCore::PDFDocumentImage::draw):
1736         * platform/graphics/cg/PDFDocumentImage.h:
1737         * platform/graphics/win/ImageCGWin.cpp:
1738         (WebCore::BitmapImage::getHBITMAPOfSize):
1739         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1740         * platform/graphics/wince/ImageBufferWinCE.cpp:
1741         (WebCore::BufferedImage::draw):
1742         * platform/graphics/wince/ImageWinCE.cpp:
1743         (WebCore::BitmapImage::draw):
1744         * platform/mac/DragImageMac.mm:
1745         (WebCore::createDragImageFromImage):
1746         * rendering/RenderEmbeddedObject.cpp:
1747         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
1748         * rendering/RenderImage.cpp:
1749         (WebCore::RenderImage::styleDidChange):
1750         * rendering/RenderSnapshottedPlugIn.cpp:
1751         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
1752         * rendering/style/RenderStyle.cpp:
1753         (WebCore::RenderStyle::changeRequiresLayout):
1754         * svg/graphics/SVGImage.cpp:
1755         (WebCore::SVGImage::drawForContainer):
1756         (WebCore::SVGImage::nativeImageForCurrentFrame):
1757         (WebCore::SVGImage::draw):
1758         * svg/graphics/SVGImage.h:
1759         * svg/graphics/SVGImageForContainer.cpp:
1760         (WebCore::SVGImageForContainer::draw):
1761         * svg/graphics/SVGImageForContainer.h:
1762
1763 2013-10-23  Andreas Kling  <akling@apple.com>
1764
1765         Tighten typing in SVGInlineTextBox a bit.
1766         <https://webkit.org/b/123238>
1767
1768         Use RenderBoxModelObject& instead of generic RenderObject* in some
1769         places where it happens as a natural consequence of keeping the
1770         original return type from InlineBox::parent()->renderer().
1771
1772         Reviewed by Anders Carlsson.
1773
1774 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1775
1776         Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
1777         https://bugs.webkit.org/show_bug.cgi?id=123150
1778
1779         Reviewed by Andreas Kling.
1780
1781         As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
1782         So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
1783         generate plenty more helper functions for render object type cast.
1784
1785         Some unnecessary type casts are fixed by this change.
1786
1787         No new tests, no behavior changes.
1788
1789         * rendering/RenderBlock.h:
1790         * rendering/RenderBlockFlow.h:
1791         * rendering/RenderBox.h:
1792         * rendering/RenderBoxModelObject.h:
1793         * rendering/RenderButton.h:
1794         * rendering/RenderCounter.h:
1795         * rendering/RenderElement.h:
1796         (WebCore::RenderElement::generatingElement):
1797         * rendering/RenderEmbeddedObject.h:
1798         * rendering/RenderFieldset.h:
1799         * rendering/RenderFileUploadControl.h:
1800         * rendering/RenderFlexibleBox.h:
1801         * rendering/RenderFlowThread.h:
1802         * rendering/RenderFrame.h:
1803         * rendering/RenderFrameSet.h:
1804         * rendering/RenderFullScreen.h:
1805         * rendering/RenderHTMLCanvas.h:
1806         * rendering/RenderIFrame.h:
1807         * rendering/RenderImage.h:
1808         * rendering/RenderInline.h:
1809         * rendering/RenderLayerModelObject.h:
1810         * rendering/RenderLineBreak.h:
1811         * rendering/RenderListBox.h:
1812         * rendering/RenderListItem.h:
1813         * rendering/RenderMedia.h:
1814         * rendering/RenderMenuList.h:
1815         * rendering/RenderMeter.h:
1816         * rendering/RenderMultiColumnBlock.h:
1817         * rendering/RenderMultiColumnSet.h:
1818         * rendering/RenderNamedFlowFragment.h:
1819         * rendering/RenderNamedFlowThread.h:
1820         * rendering/RenderObject.h:
1821         * rendering/RenderProgress.h:
1822         * rendering/RenderQuote.h:
1823         * rendering/RenderRegion.h:
1824         * rendering/RenderReplaced.h:
1825         * rendering/RenderRubyRun.h:
1826         * rendering/RenderScrollbarPart.h:
1827         * rendering/RenderSearchField.h:
1828         * rendering/RenderSlider.h:
1829         * rendering/RenderSnapshottedPlugIn.h:
1830         * rendering/RenderTable.h:
1831         * rendering/RenderTableCaption.h:
1832         * rendering/RenderTableCell.h:
1833         * rendering/RenderTableCol.h:
1834         * rendering/RenderTableRow.h:
1835         * rendering/RenderTableSection.h:
1836         * rendering/RenderText.h:
1837         * rendering/RenderTextControl.h:
1838         * rendering/RenderTextControlMultiLine.h:
1839         * rendering/RenderTextControlSingleLine.h:
1840         * rendering/RenderWidget.h:
1841         * rendering/mathml/RenderMathMLBlock.h:
1842         * rendering/svg/RenderSVGContainer.h:
1843         * rendering/svg/RenderSVGGradientStop.h:
1844         * rendering/svg/RenderSVGImage.h:
1845         * rendering/svg/RenderSVGInlineText.h:
1846         * rendering/svg/RenderSVGPath.h:
1847         * rendering/svg/RenderSVGResourceFilter.h:
1848         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1849         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
1850         * rendering/svg/RenderSVGRoot.h:
1851         * rendering/svg/RenderSVGShape.h:
1852         * rendering/svg/RenderSVGText.h:
1853         * rendering/svg/RenderSVGTextPath.h:
1854         * rendering/svg/RenderSVGViewportContainer.h:
1855         * rendering/svg/SVGInlineFlowBox.cpp:
1856         (WebCore::SVGInlineFlowBox::paint):
1857
1858 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1859
1860         Include misspelling dot gap width when centering misspelling dots
1861         https://bugs.webkit.org/show_bug.cgi?id=122365
1862
1863         Reviewed by Simon Fraser.
1864
1865         When calculating where to place the misspelling dots, we find the
1866         maximum number of full dots that can fit under the misspelled word,
1867         and then center a run of that many dots. However, when we're
1868         centering the run, we are only considering the size of the extra
1869         fractional dot that we cut off. However, the dot image has a "gap"
1870         of transparent pixels (which visually provide tracking for the dots)
1871         which visually appears to be empty space. We should take this gap
1872         space into consideration when centering the run of dots. We also
1873         should make sure that our dots start on integral pixel boundaries
1874         because otherwise we can't set the phase of the dot run properly.
1875
1876         Test: editing/spelling/centering-misspelling-dots.html
1877
1878         * platform/graphics/mac/GraphicsContextMac.mm:
1879         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1880
1881 2013-10-23  Andreas Kling  <akling@apple.com>
1882
1883         SVGFilterBuilder should not be ref-counted.
1884         <https://webkit.org/b/123222>
1885
1886         These objects are singly-owned and do not need ref counting.
1887
1888         Reviewed by Anders Carlsson.
1889
1890 2013-10-23  Brady Eidson  <beidson@apple.com>
1891
1892         Remove unused IDBBackingStoreLevelDB default constructor.
1893
1894         Rubberstamped by Anders Carlsson.
1895
1896         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1897         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1898
1899 2013-10-23  Alex Christensen  <achristensen@webkit.org>
1900
1901         Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
1902         https://bugs.webkit.org/show_bug.cgi?id=123215
1903
1904         Reviewed by Brent Fulgham.
1905
1906         * WebCore.vcxproj/WebCore.vcxproj:
1907         * WebCore.vcxproj/WebCore.vcxproj.filters:
1908         Added source files for Texture Mapper to Windows build.
1909         * WebCore.vcxproj/WebCoreCairo.props:
1910         Added Texture Mapper include directories for WinCairo.
1911
1912 2013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1913
1914         Adding mock class to test RTCDataChannelHandler
1915         https://bugs.webkit.org/show_bug.cgi?id=123205
1916
1917         Reviewed by Eric Carlson.
1918
1919         Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
1920         Also updated the expected file, removing the reliable property check (which was removed in the spec)
1921
1922         Existing tests updated.
1923
1924         * CMakeLists.txt:
1925         * platform/mediastream/RTCDataChannelHandlerClient.h:
1926         * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
1927         * platform/mock/RTCDataChannelHandlerMock.h: Added.
1928         * platform/mock/RTCNotifiersMock.cpp:
1929         (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
1930         (WebCore::RemoteDataChannelNotifier::fire):
1931         (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
1932         (WebCore::DataChannelStateNotifier::fire):
1933         * platform/mock/RTCNotifiersMock.h:
1934         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1935         (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):
1936
1937 2013-10-23  Andreas Kling  <akling@apple.com>
1938
1939         Clock should not be ref-counted.
1940         <https://webkit.org/b/123217>
1941
1942         The Clock object is only ever owned by the MediaController,
1943         so remove the ref counting and store it in a std::unique_ptr.
1944
1945         Also slapped the Clock subclasses with FINAL and OVERRIDE.
1946
1947         Reviewed by Anders Carlsson.
1948
1949 2013-10-23  Mark Lam  <mark.lam@apple.com>
1950
1951         Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
1952         https://bugs.webkit.org/show_bug.cgi?id=123218.
1953
1954         Reviewed by Joseph Pecoraro.
1955
1956         No new tests.
1957
1958         * Modules/webdatabase/DatabaseManager.cpp:
1959         (WebCore::DatabaseManager::detailsForNameAndOrigin):
1960
1961 2013-10-23  Alex Christensen  <achristensen@webkit.org>
1962
1963         Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
1964         https://bugs.webkit.org/show_bug.cgi?id=123214
1965
1966         Reviewed by Brent Fulgham.
1967
1968         * platform/graphics/PlatformLayer.h:
1969         Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
1970         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1971         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
1972         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
1973         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
1974         Added USE(CA) where necessary to compile WinCairo with accelerated compositing.
1975
1976 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1977
1978         Antialias underlines if they're not axis-aligned
1979         https://bugs.webkit.org/show_bug.cgi?id=123004
1980
1981         Reviewed by Simon Fraser.
1982
1983         In order to make underlines crisp, GraphicsContext:drawLineForText
1984         modifies the bounds of the underline rect in order to make the rect
1985         device-pixel-aligned, and then turns off antialiasing when drawing
1986         the line. This makes sense when the underline is axis-aligned, but
1987         doesn't when the rect is rotated or skewed. Therefore, we should
1988         only opt-in to this behavior if the underline we're about to draw
1989         is axis-aligned. This requires figuring out whether or not the
1990         current transformation is axis-aligned every time
1991         GraphicsContext::drawLineForText is called, which will incur a small
1992         performance hit. However, this is justified by underlines looking
1993         much better (antialiased) when the context is rotated or skewed.
1994
1995         Tests: svg/custom/foreign-object-skew.html
1996                svg/zoom/page/zoom-foreignObject.html
1997                svg/zoom/text/zoom-foreignObject.html:
1998
1999         * platform/graphics/cg/GraphicsContextCG.cpp:
2000         (WebCore::GraphicsContext::drawLineForText):
2001
2002 2013-10-23  Mark Lam  <mark.lam@apple.com>
2003
2004         Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
2005         https://bugs.webkit.org/show_bug.cgi?id=123131.
2006
2007         Reviewed by Geoffrey Garen.
2008
2009         Test: storage/websql/open-database-expand-quota.html
2010
2011         If a webpage tries to create a database that exceeds the database size
2012         quota for that security origin, the WebKit1 quota request mechanism
2013         uses detailsForNameAndOrigin() to get the requested size of the database
2014         (that the webpage is attempting to open) in order to determine whether
2015         to increase the quota or not.
2016
2017         Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
2018         mechanism to provide this size information. This change re-instates the
2019         ProposedDatabase mechanism so that WebKit1 client code that relies on
2020         this behavior will continue to work.
2021
2022         * Modules/webdatabase/DatabaseManager.cpp:
2023         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
2024         (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
2025         (WebCore::DatabaseManager::DatabaseManager):
2026         (WebCore::DatabaseManager::openDatabaseBackend):
2027         (WebCore::DatabaseManager::fullPathForDatabase):
2028         (WebCore::DatabaseManager::detailsForNameAndOrigin):
2029         * Modules/webdatabase/DatabaseManager.h:
2030         (WebCore::DatabaseManager::ProposedDatabase::origin):
2031         (WebCore::DatabaseManager::ProposedDatabase::details):
2032
2033 2013-10-23  Tim Horton  <timothy_horton@apple.com>
2034
2035         [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
2036         https://bugs.webkit.org/show_bug.cgi?id=122918
2037
2038         Reviewed by Anders Carlsson.
2039
2040         * platform/graphics/cg/ImageSourceCG.cpp:
2041         (WebCore::imageSourceOptions):
2042         The capitalization of kCGImageSourceSkipMetaData changed to
2043         kCGImageSourceSkipMetadata in Mountain Lion.
2044
2045 2013-10-23  Brady Eidson  <beidson@apple.com>
2046
2047         Make IDBDatabaseBackendLevelDB.cpp be cross platform
2048         https://bugs.webkit.org/show_bug.cgi?id=123027
2049
2050         Attentively reviewed by Dean Jackson.
2051
2052         Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
2053
2054         Project files:
2055         * CMakeLists.txt:
2056         * GNUmakefile.list.am:
2057         * WebCore.vcxproj/WebCore.vcxproj:
2058         * WebCore.vcxproj/WebCore.vcxproj.filters:
2059         * WebCore.xcodeproj/project.pbxproj:
2060
2061         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
2062         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
2063
2064         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2065         (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
2066
2067         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2068
2069         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2070         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2071
2072         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2073         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
2074         (WebCore::IDBFactoryBackendLevelDB::open):
2075         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
2076         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2077
2078         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
2079         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
2080
2081         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2082         (WebCore::IDBTransactionBackendLevelDB::create):
2083         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
2084         (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
2085         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2086
2087         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2088         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
2089         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
2090         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2091
2092 2013-10-23  Daniel Bates  <dabates@apple.com>
2093
2094         [iOS] Upstream more ARMv7s bits
2095         https://bugs.webkit.org/show_bug.cgi?id=123052
2096
2097         Reviewed by Joseph Pecoraro.
2098
2099         Define exported symbol file for armv7s and arm64.
2100
2101         * Configurations/WebCore.xcconfig:
2102
2103 2013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>
2104
2105         [GTK] accessibility/self-referencing-aria-labelledby.html is failing
2106         https://bugs.webkit.org/show_bug.cgi?id=121594
2107
2108         Reviewed by Mario Sanchez Prada.
2109
2110         According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
2111         description of image element should be determined by alt attribute, then
2112         if it is empty by title attributte.
2113
2114         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2115         (webkitAccessibleGetDescription):
2116
2117 2013-10-15  Andreas Kling  <akling@apple.com>
2118
2119         Tighten animation-driven restyle to operate on Element only.
2120         <https://webkit.org/b/122820>
2121
2122         Text nodes are never directly animated, so we can tighten this code
2123         to work on Element only. This happens naturally since the code was
2124         already working with RenderElement everywhere.
2125
2126         Reviewed by Antti Koivisto.
2127
2128 2013-10-22  Andreas Kling  <akling@apple.com>
2129
2130         Even more PassRef<RenderStyle>!
2131         <https://webkit.org/b/123147>
2132
2133         Convert more of the WebCore code to use PassRef for RenderStyle
2134         in places where they are known to be non-null.
2135
2136         Re-landing this without region styling since that caused some
2137         assertions last time.
2138
2139         Reviewed by Antti Koivisto.
2140
2141 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
2142
2143         Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
2144         https://bugs.webkit.org/show_bug.cgi?id=123038
2145
2146         Reviewed by David Hyatt.
2147
2148         I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
2149         I mostly did the same changes, but the code is too diverged at this point to just apply that patch on our trunk. The patch
2150         introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
2151         nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
2152         performance regression. The change makes the code so much cleaner and understandable.
2153
2154         This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
2155         for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
2156         the entire progress under http://webkit.org/b/121261 meta bug.
2157
2158         No new tests, covered by existing tests.
2159         - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
2160
2161         * rendering/RenderBlockFlow.h:
2162         * rendering/RenderBlockLineLayout.cpp:
2163         (WebCore::BreakingContext::BreakingContext):
2164         (WebCore::BreakingContext::currentObject):
2165         (WebCore::BreakingContext::lineBreak):
2166         (WebCore::BreakingContext::lineBreakRef):
2167         (WebCore::BreakingContext::lineWidth):
2168         (WebCore::BreakingContext::atEnd):
2169         (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
2170         (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
2171         (WebCore::BreakingContext::initializeForCurrentObject):
2172         (WebCore::BreakingContext::increment):
2173         (WebCore::BreakingContext::handleBR):
2174         (WebCore::BreakingContext::handleOutOfFlowPositioned):
2175         (WebCore::BreakingContext::handleFloat):
2176         (WebCore::BreakingContext::handleEmptyInline):
2177         (WebCore::BreakingContext::handleReplaced):
2178         (WebCore::nextCharacter):
2179         (WebCore::BreakingContext::handleText):
2180         (WebCore::textBeginsWithBreakablePosition):
2181         (WebCore::BreakingContext::canBreakAtThisPosition):
2182         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
2183         (WebCore::BreakingContext::handleEndOfLine):
2184         (WebCore::LineBreaker::nextSegmentBreak):
2185
2186 2013-10-22  Commit Queue  <commit-queue@webkit.org>
2187
2188         Unreviewed, rolling out r157826.
2189         http://trac.webkit.org/changeset/157826
2190         https://bugs.webkit.org/show_bug.cgi?id=123197
2191
2192         Caused some regions tests to assert (Requested by smfr on
2193         #webkit).
2194
2195         * dom/Document.cpp:
2196         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
2197         * dom/Document.h:
2198         * dom/Element.cpp:
2199         (WebCore::Element::styleForRenderer):
2200         * dom/Element.h:
2201         * dom/ElementRareData.h:
2202         (WebCore::ElementRareData::setComputedStyle):
2203         (WebCore::ElementRareData::resetComputedStyle):
2204         * html/HTMLTitleElement.cpp:
2205         (WebCore::HTMLTitleElement::textWithDirection):
2206         * page/animation/AnimationController.cpp:
2207         (WebCore::AnimationController::updateAnimations):
2208         * page/animation/CompositeAnimation.cpp:
2209         (WebCore::CompositeAnimation::animate):
2210         * page/animation/CompositeAnimation.h:
2211         * rendering/RenderElement.cpp:
2212         (WebCore::RenderElement::createFor):
2213         * rendering/RenderElement.h:
2214         (WebCore::RenderElement::setStyleInternal):
2215         * rendering/RenderRegion.cpp:
2216         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
2217         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
2218         (WebCore::RenderRegion::computeStyleInRegion):
2219         (WebCore::RenderRegion::computeChildrenStyleInRegion):
2220         (WebCore::RenderRegion::setObjectStyleInRegion):
2221         * rendering/RenderRegion.h:
2222         * style/StyleResolveTree.cpp:
2223         (WebCore::Style::resolveLocal):
2224
2225 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
2226
2227         [EFL] Remove HAVE_GLX macro
2228         https://bugs.webkit.org/show_bug.cgi?id=123191
2229
2230         Reviewed by Gyuyoung Kim.
2231
2232         Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
2233
2234         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
2235         Replace HAVE(GLX) to USE(GLX)
2236
2237 2013-10-22  Mark Lam  <mark.lam@apple.com>
2238
2239         Gardening: fix broken build on Windows.
2240         https://bugs.webkit.org/show_bug.cgi?id=123174.
2241
2242         Not reviewed.
2243
2244         No new tests.
2245
2246         * WebCore.vcxproj/WebCore.vcxproj:
2247         * WebCore.vcxproj/WebCore.vcxproj.filters:
2248
2249 2013-10-22  Brady Eidson  <beidson@apple.com>
2250
2251         Get rid of IDBObjectStoreBackendLevelDB
2252         https://bugs.webkit.org/show_bug.cgi?id=123174
2253
2254         Reviewed by Tim Horton.
2255
2256         This file was kind of a dumping ground.
2257         Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
2258
2259         Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
2260
2261         * CMakeLists.txt:
2262         * GNUmakefile.list.am:
2263         * WebCore.xcodeproj/project.pbxproj:
2264
2265         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
2266         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
2267
2268         * Modules/indexeddb/IDBIndexWriter.cpp: Added.
2269         (WebCore::IDBIndexWriter::IDBIndexWriter):
2270         (WebCore::IDBIndexWriter::writeIndexKeys):
2271         (WebCore::IDBIndexWriter::verifyIndexKeys):
2272         (WebCore::IDBIndexWriter::addingKeyAllowed):
2273         * Modules/indexeddb/IDBIndexWriter.h: Added.
2274         (WebCore::IDBIndexWriter::create):
2275
2276         * Modules/indexeddb/IDBBackingStoreInterface.h:
2277         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2278
2279         * Modules/indexeddb/IDBMetadata.h:
2280         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2281
2282         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2283         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
2284         (WebCore::IDBBackingStoreLevelDB::generateKey):
2285         (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
2286         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2287
2288         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2289         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
2290         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
2291         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
2292
2293         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2294         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
2295         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2296
2297         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2298         (WebCore::PutOperation::perform):
2299         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2300         (WebCore::PutOperation::create):
2301         (WebCore::PutOperation::PutOperation):
2302
2303 2013-10-22  Dean Jackson  <dino@apple.com>
2304
2305         [WebGL] Implement a software rendering option on Mac
2306         https://bugs.webkit.org/show_bug.cgi?id=123177
2307
2308         Reviewed by Tim Horton.
2309
2310         Implement a way to force software OpenGL rendering
2311         for WebGL, via a Setting/Preference.
2312
2313         No new tests. We intentionally hide the capabilities of
2314         the renderer from the content, so you can't test for
2315         this setting. However, manual inspection is pretty
2316         obvious. Just go to a page with a complex shader
2317         such as https://www.shadertoy.com/view/lss3WS.
2318
2319         * html/canvas/WebGLRenderingContext.cpp:
2320         (WebCore::WebGLRenderingContext::create): If we're forcing software
2321         rendering, mark the context attributes as such.
2322         * page/Settings.in: New setting key.
2323         * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
2324         (WebCore::GraphicsContext3D::Attributes::Attributes):
2325         * platform/graphics/mac/GraphicsContext3DMac.mm:
2326         (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
2327         algorithm that sets a pixel format. If we're forcing software rendering,
2328         obviously we never want to create an accelerated pixel format.
2329         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2330         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
2331         here before trying to create the context.
2332         * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
2333         flag to prepareContextIfNeeded.
2334         * rendering/FilterEffectRenderer.cpp:
2335         (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
2336         filter context.
2337
2338 2013-10-22  Anders Carlsson  <andersca@apple.com>
2339
2340         Revert r157445 since it broke certificates on Mac.
2341         <rdar://problem/15246926&15254017&15269117>
2342
2343         * GNUmakefile.list.am:
2344         * PlatformEfl.cmake:
2345         * WebCore.exp.in:
2346         * WebCore.vcxproj/WebCore.vcxproj:
2347         * WebCore.vcxproj/WebCore.vcxproj.filters:
2348         * WebCore.xcodeproj/project.pbxproj:
2349         * platform/network/ResourceErrorBase.h:
2350         * platform/network/ResourceResponseBase.h:
2351         * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
2352         * platform/network/cf/ResourceResponse.h:
2353         * platform/network/mac/ResourceResponseMac.mm:
2354         (WebCore::ResourceResponse::setCertificateChain):
2355         (WebCore::ResourceResponse::certificateChain):
2356         * platform/network/soup/ResourceError.h:
2357         (WebCore::ResourceError::ResourceError):
2358         (WebCore::ResourceError::tlsErrors):
2359         (WebCore::ResourceError::setTLSErrors):
2360         (WebCore::ResourceError::certificate):
2361         (WebCore::ResourceError::setCertificate):
2362         * platform/network/soup/ResourceErrorSoup.cpp:
2363         (WebCore::ResourceError::tlsError):
2364         (WebCore::ResourceError::platformCopy):
2365         (WebCore::ResourceError::platformCompare):
2366         * platform/network/soup/ResourceResponse.h:
2367         (WebCore::ResourceResponse::ResourceResponse):
2368         (WebCore::ResourceResponse::soupMessageCertificate):
2369         (WebCore::ResourceResponse::setSoupMessageCertificate):
2370         (WebCore::ResourceResponse::soupMessageTLSErrors):
2371         (WebCore::ResourceResponse::setSoupMessageTLSErrors):
2372         * platform/network/soup/ResourceResponseSoup.cpp:
2373         (WebCore::ResourceResponse::toSoupMessage):
2374         (WebCore::ResourceResponse::updateFromSoupMessage):
2375
2376 2013-10-22  Jer Noble  <jer.noble@apple.com>
2377
2378         [Media] Refactor supportsType() factory method to take a parameters object.
2379         https://bugs.webkit.org/show_bug.cgi?id=122489
2380
2381         Reviewed by Eric Carlson.
2382
2383         In order to support adding new conditional properties with which to decide
2384         what MediaPlayerPrivate subclass to create, replace the two versions of the
2385         supportsType() factory method with a single one taking a parameters object.
2386
2387         At the same time, add a 'isMediaSource' parameter to that object, allowing
2388         MediaPlayerPrivate subclasses which support the same type and codecs but
2389         which do not both support MediaSource to be distinguised.
2390
2391         * platform/graphics/MediaPlayer.cpp:
2392         (WebCore::bestMediaEngineForSupportParameters): Renamed from
2393             bestMediaEngineForTypeAndCodecs.
2394         (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
2395         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
2396         (WebCore::MediaPlayer::supportsType): Pass parameter object.
2397         (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
2398         * platform/graphics/MediaPlayer.h:
2399         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2400         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
2401         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2402         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2403         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2404         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
2405             extendedSupportsType method.
2406         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
2407         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2408         (WebCore::MediaPlayerPrivate::supportsType): Ditto.
2409         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2410         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2411         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2412         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2413         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2414         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
2415             extendedSupportsType method.
2416         (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
2417         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2418         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
2419         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2420         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
2421
2422 2013-10-22  Andreas Kling  <akling@apple.com>
2423
2424         Merge SVGRenderBlock::styleWillChange() into styleDidChange().
2425         <https://webkit.org/b/123181>
2426
2427         I meant to do this one in r157787, but better late than never.
2428
2429         Reviewed by Geoffrey Garen.
2430
2431 2013-10-22  Sam Weinig  <sam@webkit.org>
2432
2433         CTTE: Modernize RenderBlock a bit
2434         https://bugs.webkit.org/show_bug.cgi?id=123162
2435
2436         Reviewed by Andreas Kling.
2437
2438         Start threading references through RenderBlock. While we 
2439         are here, do some selective modernization as well.
2440
2441 2013-10-22  Andreas Kling  <akling@apple.com>
2442
2443         Even more PassRef<RenderStyle>!
2444         <https://webkit.org/b/123147>
2445
2446         Convert the remaining WebCore code to use PassRef for RenderStyle
2447         wherever they are known to be non-null.
2448
2449         Reviewed by Antti Koivisto.
2450
2451 2013-10-22  Commit Queue  <commit-queue@webkit.org>
2452
2453         Unreviewed, rolling out r157819.
2454         http://trac.webkit.org/changeset/157819
2455         https://bugs.webkit.org/show_bug.cgi?id=123180
2456
2457         Broke 32-bit builds (Requested by smfr on #webkit).
2458
2459         * Configurations/WebCore.xcconfig:
2460
2461 2013-10-22  Antti Koivisto  <antti@apple.com>
2462
2463         Rename deleteLineBoxTree to deleteLines
2464         https://bugs.webkit.org/show_bug.cgi?id=123176
2465
2466         Reviewed by Andreas Kling.
2467
2468         RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
2469         RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
2470
2471 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2472
2473         {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
2474         https://bugs.webkit.org/show_bug.cgi?id=123172
2475
2476         Reviewed by Simon Fraser.
2477
2478         No new tests, just a rename.
2479
2480         "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
2481         Rename FilterOperation::getOperationType() to FilterOperation::type().
2482         I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
2483
2484         Removed long and useless list of files.
2485
2486 2013-10-22  Samuel White  <samuel_white@apple.com>
2487
2488         AX: Add paramAttrs to fetch start and end text markers in a given rect.
2489         https://bugs.webkit.org/show_bug.cgi?id=122164
2490
2491         Reviewed by Chris Fleizach.
2492
2493         Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
2494         like VoiceOver a way to retrieve the text markers for a specified column of page text.
2495
2496         Test: platform/mac/accessibility/text-marker-for-bounds.html
2497
2498         * accessibility/AccessibilityObject.cpp:
2499         (WebCore::AccessibilityObject::mainFrame):
2500         (WebCore::AccessibilityObject::topDocument):
2501         (WebCore::AccessibilityObject::visiblePositionForBounds):
2502         * accessibility/AccessibilityObject.h:
2503         * accessibility/AccessibilityRenderObject.cpp:
2504         * accessibility/AccessibilityRenderObject.h:
2505         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2506         (-[WebAccessibilityObjectWrapper screenToContents:]):
2507         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2508         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2509
2510 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
2511
2512         [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
2513         https://bugs.webkit.org/show_bug.cgi?id=123033
2514
2515         Reviewed by David Hyatt.
2516
2517         In Blink I made this function in a bit different way. This change modifies it
2518         to be identical, which helps a lot in the future cross-merging patches.
2519
2520         No new tests, covered by existing texts.
2521
2522         * rendering/RenderBlockLineLayout.cpp:
2523         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
2524
2525 2013-10-22  Daniel Bates  <dabates@apple.com>
2526
2527         [iOS] Upstream more ARMv7s bits
2528         https://bugs.webkit.org/show_bug.cgi?id=123052
2529
2530         Reviewed by Joseph Pecoraro.
2531
2532         * Configurations/WebCore.xcconfig:
2533
2534 2013-10-22  Simon Fraser  <simon.fraser@apple.com>
2535
2536         Try to fix Mavericks build; use <> for framework include.
2537
2538         * page/CaptionUserPreferencesMediaAF.cpp:
2539
2540 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2541
2542         GammaFilterOperation seems to be dead code
2543         https://bugs.webkit.org/show_bug.cgi?id=123173
2544
2545         Reviewed by Simon Fraser.
2546
2547         * platform/graphics/filters/FilterOperation.cpp:
2548         * platform/graphics/filters/FilterOperation.h:
2549         Remove dead code.
2550
2551 2013-10-22  Antti Koivisto  <antti@apple.com>
2552
2553         Rename some line box functions to be just about lines
2554         https://bugs.webkit.org/show_bug.cgi?id=123168
2555
2556         Reviewed by Dave Hyatt.
2557
2558         firstLineBoxBaseline -> firstLineBaseline
2559         hasInlineBoxChildren -> hasLines
2560         
2561         Also use hasLines in a bunch of places where firstLineBox() was used.
2562
2563         * accessibility/AccessibilityRenderObject.cpp:
2564         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2565         
2566             Also use hasRenderedText() instead of firstTextBox()
2567
2568         * rendering/RenderFullScreen.cpp:
2569         
2570             Fix namespace.
2571
2572 2013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2573
2574         Adding Mock class to test RTCPeerConnection
2575         https://bugs.webkit.org/show_bug.cgi?id=122848
2576
2577         Reviewed by Eric Carlson.
2578
2579         The following tests can be run:
2580
2581             RTCPeerConnection-createAnswer.html
2582             RTCPeerConnection-createOffer.html
2583             RTCPeerConnection-ice.html
2584             RTCPeerConnection-localDescription.html
2585             RTCPeerConnection-remoteDescription.html
2586             RTCPeerConnection-state.html
2587
2588         Tests that require a MediaStream object, by invoking getUserMedia,
2589         are not ready to run yet.
2590
2591         No new tests needed.
2592
2593         * CMakeLists.txt:
2594         * platform/mediastream/RTCPeerConnectionHandler.cpp:
2595         (WebCore::createHandler):
2596         * platform/mediastream/RTCPeerConnectionHandler.h:
2597         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
2598         * platform/mock/RTCNotifiersMock.cpp: Added.
2599         * platform/mock/RTCNotifiersMock.h: Added.
2600         * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
2601         * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
2602         * platform/mock/TimerEventBasedMock.h: Added.
2603         * testing/Internals.cpp:
2604         (WebCore::Internals::Internals):
2605         (WebCore::Internals::enableMockRTCPeerConnectionHandler):
2606         * testing/Internals.h:
2607
2608 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
2609
2610         WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
2611         https://bugs.webkit.org/show_bug.cgi?id=122945
2612
2613         Reviewed by Anders Carlsson.
2614
2615         * loader/EmptyClients.cpp:
2616         (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
2617         adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
2618
2619 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
2620
2621         Simplify HRTFDatabaseLoader's load map
2622         https://bugs.webkit.org/show_bug.cgi?id=122944
2623
2624         Reviewed by Eric Carlson.
2625
2626         * platform/audio/HRTFDatabaseLoader.cpp:
2627         (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
2628         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
2629         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
2630         * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
2631         and the singleton's unused getter.
2632
2633 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2634
2635         Remote Layer Tree: Support hardware accelerated filters
2636         https://bugs.webkit.org/show_bug.cgi?id=123139
2637
2638         Reviewed by Anders Carlsson.
2639
2640         * WebCore.exp.in:
2641         Export a variety of filter-related things.
2642
2643         * platform/graphics/ca/PlatformCAFilters.h:
2644         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2645         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2646         (PlatformCALayerMac::setFilters):
2647         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
2648         (PlatformCAFilters::setFiltersOnLayer):
2649         setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
2650         as its argument, because it doesn't need a PlatformCALayer, and this way
2651         we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
2652         and not PlatformCALayers.
2653
2654 2013-10-22  Brendan Long  <b.long@cablelabs.com>
2655
2656         cue.text fails for some track element cues
2657         https://bugs.webkit.org/show_bug.cgi?id=81123
2658
2659         Reviewed by Eric Carlson.
2660
2661         Test: media/track/track-long-captions-file.html
2662
2663         * html/track/WebVTTParser.cpp:
2664         (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
2665         (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
2666         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
2667         (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
2668         (WebCore::WebVTTParser::collectNextLine): Use buffer.
2669         * html/track/WebVTTParser.h: Add m_buffer and Finished state.
2670         * loader/TextTrackLoader.cpp:
2671         (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
2672
2673 2013-10-22  peavo@outlook.com  <peavo@outlook.com>
2674
2675         [WinCairo] Compile error.
2676         https://bugs.webkit.org/show_bug.cgi?id=123161
2677
2678         Reviewed by Brent Fulgham.
2679
2680         * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
2681
2682 2013-10-21  Brady Eidson  <beidson@apple.com>
2683
2684         Add a cross-platform IDBRecordIdentifier
2685         https://bugs.webkit.org/show_bug.cgi?id=123138
2686
2687         Reviewed by Andreas Kling.
2688
2689         Add the cross-platform header:
2690         * Modules/indexeddb/IDBRecordIdentifier.h: Added.
2691         (WebCore::IDBRecordIdentifier::create):
2692         (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
2693         (WebCore::IDBRecordIdentifier::version):
2694         (WebCore::IDBRecordIdentifier::reset):
2695         (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
2696         * WebCore.xcodeproj/project.pbxproj:
2697         * GNUmakefile.list.am:
2698
2699         Remove the old abstract and LevelDB classes:
2700         * Modules/indexeddb/IDBBackingStoreInterface.h:
2701         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2702
2703         Use the cross-platform one everywhere:
2704         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2705         (WebCore::IDBBackingStoreLevelDB::putRecord):
2706         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2707         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2708         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2709         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
2710         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
2711
2712         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2713         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
2714
2715         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2716         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
2717
2718         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2719         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2720         (WebCore::PutOperation::perform):
2721
2722 2013-10-22  Andrei Bucur  <abucur@adobe.com>
2723
2724         [CSS Regions] Possible performance regression after r157567
2725         https://bugs.webkit.org/show_bug.cgi?id=123016
2726
2727         Reviewed by Andreas Kling.
2728
2729         The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
2730         Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
2731         try to optimize the initial patch, based on Andreas Kling's review.
2732
2733         The patch also adds a couple of refactorings that should make the code easier to read:
2734         - the CSS Shapes functions are now wrapped in a single #if clause
2735         - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
2736
2737         The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
2738         it information about the state of the relayout children flag. If the flag is true already,
2739         some of the steps are skipped.
2740
2741         Tests: no new tests.
2742
2743         * dom/Element.cpp:
2744         (WebCore::Element::webkitGetRegionFlowRanges):
2745         * inspector/InspectorOverlay.cpp:
2746         (WebCore::buildObjectForElementInfo):
2747         * rendering/RenderBlock.cpp:
2748         (WebCore::shapeInfoRequiresRelayout):
2749         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
2750         (WebCore::RenderBlock::computeShapeSize):
2751         (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
2752         * rendering/RenderBlock.h:
2753         * rendering/RenderBlockFlow.cpp:
2754         (WebCore::RenderBlockFlow::layoutBlock):
2755         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
2756         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
2757         (WebCore::RenderBlockFlow::ensureRareData):
2758         * rendering/RenderBlockFlow.h:
2759         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2760         (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
2761         * rendering/RenderDeprecatedFlexibleBox.cpp:
2762         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2763         * rendering/RenderElement.h:
2764         (WebCore::RenderElement::generatingElement):
2765         * rendering/RenderFlexibleBox.cpp:
2766         (WebCore::RenderFlexibleBox::layoutBlock):
2767         * rendering/RenderFlowThread.cpp:
2768         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2769         * rendering/RenderFlowThread.h:
2770         * rendering/RenderGrid.cpp:
2771         (WebCore::RenderGrid::layoutBlock):
2772         * rendering/RenderNamedFlowFragment.h:
2773         * rendering/RenderObject.cpp:
2774         * rendering/RenderObject.h:
2775         * rendering/RenderTreeAsText.cpp:
2776         (WebCore::write):
2777         * style/StyleResolveTree.cpp:
2778         (WebCore::Style::elementInsideRegionNeedsRenderer):
2779
2780 2013-10-22  Andreas Kling  <akling@apple.com>
2781
2782         CSSStyleSheet constructor functions should return PassRef.
2783         <https://webkit.org/b/123156>
2784
2785         Make CSSStyleSheet::create*() return PassRef and tighten some call
2786         sites that were using them. Most callers didn't need any tweaks to
2787         take advantage of PassRef.
2788
2789         Reviewed by Antti Koivisto.
2790
2791 2013-10-22  Andreas Kling  <akling@apple.com>
2792
2793         CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
2794         <https://webkit.org/b/123154>
2795
2796         This renderer is never anonymous and always has a corresponding
2797         MathMLInlineContainerElement. Overload element() with a tighter
2798         return type.
2799
2800         Also marked the class FINAL and made most member functions private.
2801
2802         Reviewed by Antti Koivisto.
2803
2804 2013-10-22  Andreas Kling  <akling@apple.com>
2805
2806         FontGlyphs constructor functions should return PassRef.
2807         <https://webkit.org/b/123159>
2808
2809         Made the two FontGlyphs creator functions return PassRef and tweaked
2810         the FontGlyphsCache in Font.cpp to make more efficient use of it.
2811
2812         Reviewed by Antti Koivisto.
2813
2814 2013-10-22  Andreas Kling  <akling@apple.com>
2815
2816         Fix some more code to use RenderElement instead of RenderObject.
2817         <https://webkit.org/b/123149>
2818
2819         Using RenderElement where possible lets us skip the isRenderElement()
2820         branch in RenderObject::style() and generates much tighter code.
2821
2822         Reviewed by Antti Koivisto.
2823
2824 2013-10-22  Andreas Kling  <akling@apple.com>
2825
2826         Merge SVG renderers' styleWillChange() into styleDidChange().
2827         <https://webkit.org/b/123108>
2828
2829         This work can just as well be done after setting the style.
2830         Three more styleWillChange() overloads gone.
2831
2832         Reviewed by Antti Koivisto.
2833
2834 2013-10-22  Andreas Kling  <akling@apple.com>
2835
2836         CSSValueList constructor functions should return PassRef.
2837         <https://webkit.org/b/123151>
2838
2839         These functions always return objects, and thus can return PassRef.
2840         Also made CSSValueList::createFromParserValueList() take a reference
2841         since that function is only ever called with a non-null value.
2842
2843         Reviewed by Antti Koivisto.
2844
2845 2013-10-22  Andreas Kling  <akling@apple.com>
2846
2847         Avoid parent style ref churn in createTextRendererIfNeeded().
2848         <https://webkit.org/b/123148>
2849
2850         There's no need to take a temporary ref on the parent's RenderStyle
2851         while creating a text renderer. It's not going away, and the text
2852         renderer is not going to participate in ownership afterwards.
2853
2854         Reviewed by Antti Koivisto.
2855
2856 2013-10-22  Andreas Kling  <akling@apple.com>
2857
2858         Remove some unnecessary null checks in RenderElement::setStyle().
2859         <https://webkit.org/b/123146>
2860
2861         After assigning the new style to RenderElement::m_style, we know that
2862         it'll be non-null, so remove all the checking for this.
2863
2864         Reviewed by Antti Koivisto.
2865
2866 2013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2867
2868         Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
2869         https://bugs.webkit.org/show_bug.cgi?id=123140
2870
2871         Reviewed by Andreas Kling.
2872
2873         As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
2874         child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
2875
2876         No new tests, no behavior changes.
2877
2878         * accessibility/AccessibilityList.h:
2879         * accessibility/AccessibilityMenuList.h:
2880         * accessibility/AccessibilityMockObject.h:
2881         * accessibility/AccessibilityNodeObject.h:
2882         * accessibility/AccessibilityObject.h:
2883         * accessibility/AccessibilityRenderObject.h:
2884         * accessibility/AccessibilitySVGRoot.h:
2885         * accessibility/AccessibilityScrollView.h:
2886         * accessibility/AccessibilitySpinButton.h:
2887         * accessibility/AccessibilityTable.h:
2888
2889 2013-10-22  Brian Holt  <brian.holt@samsung.com>
2890
2891         [GTK] Add WebKit2 API for TLS errors
2892         https://bugs.webkit.org/show_bug.cgi?id=120160
2893
2894         Reviewed by Carlos Garcia Campos.
2895
2896         Added a new constructor for CertificateInfo under Soup.
2897
2898         * platform/network/CertificateInfo.h:
2899         * platform/network/soup/CertificateInfoSoup.cpp:
2900         (WebCore::CertificateInfo::CertificateInfo): New constructor using
2901         GTlsCertificateFlags and GTlsCertificate.
2902
2903 2013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>
2904
2905         [CSSRegions] Use RenderStyle::hasFlowFrom when needed
2906         https://bugs.webkit.org/show_bug.cgi?id=122543
2907
2908         Reviewed by David Hyatt.
2909
2910         Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
2911         Use RenderStyle::hasFlowFrom() helper function instead of directly
2912         checking the value of RenderStyle::regionThread().
2913
2914         No change of functionality, covered by existing tests.
2915
2916         * css/CSSComputedStyleDeclaration.cpp:
2917         (WebCore::contentToCSSValue):
2918         (WebCore::ComputedStyleExtractor::propertyValue):
2919         * css/StyleResolver.cpp:
2920         (WebCore::StyleResolver::adjustRenderStyle):
2921         * dom/PseudoElement.cpp:
2922         (WebCore::PseudoElement::didAttachRenderers):
2923         * dom/PseudoElement.h:
2924         (WebCore::pseudoElementRendererIsNeeded):
2925         * rendering/RenderBlockFlow.cpp:
2926         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
2927         * rendering/RenderLayer.cpp:
2928         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2929         * rendering/style/RenderStyle.h:
2930
2931 2013-10-21  Brent Fulgham  <bfulgham@apple.com>
2932
2933         [WIN] Properly support reverse animations without needing software fallback.
2934         https://bugs.webkit.org/show_bug.cgi?id=85121
2935
2936         Reviewed by Dean Jackson.
2937
2938         Testing is provided by existing animation tests.
2939
2940         * platform/animation/TimingFunction.h:
2941         (WebCore::CubicBezierTimingFunction::createReversed): Added.
2942         * platform/graphics/ca/GraphicsLayerCA.cpp:
2943         (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
2944         autoreverse animation is no longer needed.
2945         * platform/graphics/ca/PlatformCAAnimation.h:
2946         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2947         (toCAMediaTimingFunction): Use new reversed function.
2948         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2949         (toCACFTimingFunction): Ditto.
2950         (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
2951         (PlatformCAAnimation::setTimingFunctions): Ditto.
2952
2953 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2954
2955         Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
2956         https://bugs.webkit.org/show_bug.cgi?id=123126
2957
2958         Reviewed by Andreas Kling.
2959
2960         TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
2961         CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
2962         generates plenty more helper functions for toCSSFooValue().
2963
2964         Additionally, this use support that toWebKitCSSFooValue, which couldn't
2965         use CSS_VALUE_TYPE_CASTS macro.
2966
2967         No new tests, no behavior change.
2968
2969         * css/CSSAspectRatioValue.h:
2970         * css/CSSBorderImageSliceValue.h:
2971         * css/CSSCalculationValue.h:
2972         * css/CSSCanvasValue.h:
2973         * css/CSSCrossfadeValue.h:
2974         * css/CSSCursorImageValue.h:
2975         * css/CSSFilterImageValue.h:
2976         * css/CSSFontFaceSrcValue.h:
2977         * css/CSSFontFeatureValue.h:
2978         * css/CSSFontValue.h:
2979         * css/CSSFunctionValue.h:
2980         * css/CSSGradientValue.h:
2981         * css/CSSGridTemplateValue.h:
2982         * css/CSSImageSetValue.h:
2983         * css/CSSImageValue.h:
2984         * css/CSSInheritedValue.h:
2985         * css/CSSInitialValue.h:
2986         * css/CSSLineBoxContainValue.h:
2987         * css/CSSPrimitiveValue.h:
2988         * css/CSSReflectValue.h:
2989         * css/CSSShadowValue.h:
2990         * css/CSSTimingFunctionValue.h:
2991         * css/CSSUnicodeRangeValue.h:
2992         * css/CSSValue.h:
2993         * css/CSSValueList.h:
2994         * css/CSSVariableValue.h:
2995         * css/WebKitCSSArrayFunctionValue.h:
2996         * css/WebKitCSSFilterValue.h:
2997         * css/WebKitCSSMatFunctionValue.h:
2998         * css/WebKitCSSMixFunctionValue.h:
2999         * css/WebKitCSSSVGDocumentValue.h:
3000         * css/WebKitCSSShaderValue.h:
3001
3002 2013-10-21  Joone Hur  <joone.hur@intel.com>
3003
3004         Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
3005         https://bugs.webkit.org/show_bug.cgi?id=123013
3006
3007         Reviewed by Andreas Kling.
3008
3009         No new tests because this was reported by Google ClusterFuzz.
3010         https://codereview.chromium.org/25713009/
3011
3012         There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter() 
3013         due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject 
3014         by running isBoxModelObject() before calling toRenderBoxModelObject.  
3015
3016         * rendering/RenderBlock.cpp:
3017         (WebCore::RenderBlock::updateFirstLetter):
3018
3019 2013-10-21  Brady Eidson  <beidson@apple.com>
3020
3021         Make IDBTransactionCoordinatorLevelDB cross platform
3022         https://bugs.webkit.org/show_bug.cgi?id=123124
3023
3024         Enthusiastically reviewed by Tim Horton.
3025
3026         * CMakeLists.txt:
3027         * GNUmakefile.list.am:
3028         * WebCore.xcodeproj/project.pbxproj:
3029
3030         Make more methods pure virtual in the interface:
3031         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3032         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3033         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3034
3035         Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
3036         * Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
3037         (WebCore::IDBTransactionCoordinator::create):
3038         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
3039         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
3040         (WebCore::IDBTransactionCoordinator::didCreateTransaction):
3041         (WebCore::IDBTransactionCoordinator::didStartTransaction):
3042         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
3043         (WebCore::IDBTransactionCoordinator::isActive):
3044         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
3045         (WebCore::doScopesOverlap):
3046         (WebCore::IDBTransactionCoordinator::canRunTransaction):
3047         * Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
3048
3049         Update the name of the class elsewhere:
3050         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3051         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
3052         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
3053         (WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
3054         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3055
3056 2013-10-21  Daniel Bates  <dabates@apple.com>
3057
3058         [iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
3059         https://bugs.webkit.org/show_bug.cgi?id=123045
3060
3061         Reviewed by Joseph Pecoraro.
3062
3063         * bindings/js/JSDOMWindowBase.cpp:
3064         (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
3065         (WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
3066         about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
3067         so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
3068         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
3069         * bindings/js/JSDOMWindowBase.h:
3070         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3071         (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
3072         * bindings/js/JSWorkerGlobalScopeBase.h:
3073         * loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
3074         in a subsequent patch.
3075         * page/ChromeClient.h: Added isStopping().
3076
3077 2013-10-21  Anders Carlsson  <andersca@apple.com>
3078
3079         Navigation policy callback not called when performing the same fragment navigation twice
3080         https://bugs.webkit.org/show_bug.cgi?id=123121
3081         <rdar://problem/15230466>
3082
3083         Reviewed by Beth Dakin.
3084
3085         There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away 
3086         if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
3087         the last checked request of the document loader when doing a fragment navigation.
3088
3089         * loader/FrameLoader.cpp:
3090         (WebCore::FrameLoader::loadURL):
3091         (WebCore::FrameLoader::loadWithDocumentLoader):
3092
3093 2013-10-21  Jer Noble  <jer.noble@apple.com>
3094
3095         Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
3096
3097         * html/HTMLMediaElement.h:
3098
3099 2013-10-20  Mark Lam  <mark.lam@apple.com>
3100
3101         Avoid JSC debugger overhead unless needed.
3102         https://bugs.webkit.org/show_bug.cgi?id=123084.
3103
3104         Reviewed by Geoffrey Garen.
3105
3106         No new tests.
3107
3108         - If no breakpoints are set, we now avoid calling the debug hook callbacks.
3109         - If no break on exception is set, we also avoid exception event debug callbacks.
3110         - When we return from the ScriptDebugServer to the JSC::Debugger, we may no
3111           longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
3112           pointer in the ScriptDebugServer may become stale. To avoid this issue, before
3113           returning, the ScriptDebugServer will clear its m_currentCallFrame if
3114           needsOpDebugCallbacks() is false.
3115
3116         * bindings/js/ScriptDebugServer.cpp:
3117         (WebCore::ScriptDebugServer::setBreakpoint):
3118         (WebCore::ScriptDebugServer::removeBreakpoint):
3119         (WebCore::ScriptDebugServer::clearBreakpoints):
3120         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3121         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
3122         (WebCore::ScriptDebugServer::breakProgram):
3123         (WebCore::ScriptDebugServer::stepIntoStatement):
3124         (WebCore::ScriptDebugServer::dispatchDidContinue):
3125         (WebCore::ScriptDebugServer::exception):
3126         (WebCore::ScriptDebugServer::didReachBreakpoint):
3127         * inspector/InspectorDebuggerAgent.cpp:
3128         (WebCore::InspectorDebuggerAgent::reset):
3129
3130 2013-10-21  Myles C. Maxfield  <mmaxfield@apple.com>
3131
3132         Grammar markers are not updated when switching between 1x and 2x
3133         https://bugs.webkit.org/show_bug.cgi?id=122146
3134
3135         Reviewed by Dean Jackson.
3136
3137         When running editing/spelling/grammar-markers-hidpi.html, the 2x
3138         grammar/spelling dot resources are cached. If you then run
3139         editing/spelling/grammar-markers.html without tearing down WebKit,
3140         it re-uses the 2x dots. The difference between the two tests is a call
3141         to testRunner.setBackingScaleFactor().
3142
3143         We create a NSColor from an NSImage, and remember it in a static
3144         variable. However, NSColor inspects the current graphics context to
3145         determine which resolution to use, and then remembers that decision.
3146         Therefore, we want to recreate the NSColor whenever the device pixel
3147         ratio changes. This patch adds a new static function to GraphicsContext
3148         which recreates this NSColor every time the ratio changes.
3149
3150         Tests: editing/spelling/grammar-markers.html
3151                editing/spelling/inline_spelling_markers.html
3152
3153         * platform/graphics/mac/GraphicsContextMac.mm:
3154         (WebCore::makePattern):
3155         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3156
3157 2013-10-21  Simon Fraser  <simon.fraser@apple.com>
3158
3159         Use pink layer borders for compositing layers with a contents layer
3160         https://bugs.webkit.org/show_bug.cgi?id=123118
3161
3162         Reviewed by Dean Jackson.
3163
3164         With the existing layer border colors, it's not possible to distinguish an empty
3165         layer from one with solid color, image or video contents. So use a pink color
3166         for those. This makes it easier to diagnose bugs like 122784.
3167
3168         * platform/graphics/GraphicsLayer.cpp:
3169         (WebCore::GraphicsLayer::getDebugBorderInfo):
3170
3171 2013-10-21  Jer Noble  <jer.noble@apple.com>
3172
3173         Limit use of display sleep assertion when <video> element is off-screen.
3174         https://bugs.webkit.org/show_bug.cgi?id=123041
3175
3176         Reviewed by Darin Adler.
3177
3178         Use page visibility changes to suspend and resume the use of sleep assertions in
3179         HTMLMediaElement.
3180
3181         Page will propogate the page visibility change notifications to its Documents, which
3182         will further propogate those notifications to registered elements.  Upon receiving
3183         these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
3184         token if necessary.
3185
3186         Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
3187         the implementation in a PLATFORM(MAC) guard rather than at each call site.
3188
3189         * dom/Document.cpp:
3190         (WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
3191         (WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
3192         (WebCore::Document::visibilityStateChanged): Call all registered clients.
3193         * dom/Document.h:
3194         * dom/Element.h:
3195         (WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
3196             by subclasses.
3197         * html/HTMLMediaElement.cpp:
3198         (WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
3199             current status of Document::hidden().
3200         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
3201         (WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
3202             and call updateSleepDisabling().
3203         (WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
3204         * html/HTMLMediaElement.h:
3205         * page/Page.cpp:
3206         (WebCore::Page::setVisibilityState): Pass to every child document.
3207
3208         Rename updateDisableSleep() -> updateSleepDisabling():
3209         * html/HTMLMediaElement.cpp:
3210         (WebCore::HTMLMediaElement::HTMLMediaElement):
3211         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3212         (WebCore::HTMLMediaElement::parseAttribute):
3213         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
3214         (WebCore::HTMLMediaElement::clearMediaPlayer):
3215         (WebCore::HTMLMediaElement::stop):
3216
3217 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3218
3219         MediaStreamTrack now tracks its own state
3220         https://bugs.webkit.org/show_bug.cgi?id=123025
3221
3222         Reviewed by Jer Noble.
3223
3224         The spec says that a MediaStreamSource can be shared by different tracks,
3225         so a track must have its own state tracking, synchronizing with its MediaStreamSource when
3226         the underlying MediaStreamSource changes the readyState.
3227         In the old implementation if a user invoked the stop method, its readyState method was still
3228         returning the MediaStreamSource state, which was wrong.
3229         This also adds a setEnabled method, which can be used to set the state of a track when a
3230         remote peer ends it, for instance.
3231
3232         No new tests needed.
3233
3234         * Modules/mediastream/MediaStreamTrack.cpp:
3235         (WebCore::MediaStreamTrack::readyState):
3236         (WebCore::MediaStreamTrack::setState):
3237         (WebCore::MediaStreamTrack::stopProducingData):
3238         (WebCore::MediaStreamTrack::ended):
3239         (WebCore::MediaStreamTrack::sourceStateChanged):
3240         (WebCore::MediaStreamTrack::trackDidEnd):
3241         * Modules/mediastream/MediaStreamTrack.h:
3242
3243 2013-10-21  Tim Horton  <timothy_horton@apple.com>
3244
3245         Remote Layer Tree: Clean up transaction logging
3246         https://bugs.webkit.org/show_bug.cgi?id=123116
3247
3248         Reviewed by Anders Carlsson.
3249
3250         * WebCore.exp.in:
3251         Export some TextStream functions.
3252
3253 2013-10-21  Brady Eidson  <beidson@apple.com>
3254
3255         Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
3256         https://bugs.webkit.org/show_bug.cgi?id=123105
3257
3258         Reviewed by Anders Carlsson.
3259
3260         Export more required headers:
3261         * WebCore.xcodeproj/project.pbxproj:
3262
3263         Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
3264         the RecordIdentifier and Cursor classes:
3265
3266         * Modules/indexeddb/IDBBackingStoreInterface.h:
3267         (WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
3268         (WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
3269
3270         Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
3271         IDBBackingStoreInterface::Cursor wherever possible:
3272
3273         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
3274         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3275
3276         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3277         (WebCore::IDBBackingStoreLevelDB::putRecord):
3278         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
3279         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
3280         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
3281         (WebCore::ObjectStoreKeyCursorImpl::clone):
3282         (WebCore::ObjectStoreCursorImpl::clone):
3283         (WebCore::IndexKeyCursorImpl::clone):
3284         (WebCore::IndexCursorImpl::clone):
3285         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
3286         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
3287         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
3288         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
3289         (WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
3290         (WebCore::IDBBackingStoreLevelDB::Transaction::begin):
3291         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3292         (WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
3293
3294         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3295         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
3296         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3297
3298         (WebCore::IDBCursorBackendLevelDB::create):
3299         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3300         (WebCore::IDBDatabaseBackendLevelDB::create):
3301         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
3302         (WebCore::IDBDatabaseBackendLevelDB::backingStore):
3303         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
3304         (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
3305         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
3306
3307         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3308         (WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
3309         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3310
3311         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3312         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
3313         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
3314         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
3315         (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
3316         (WebCore::IDBObjectStoreBackendLevelDB::generateKey):
3317         (WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
3318         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
3319
3320         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3321         (WebCore::IDBTransactionBackendLevelDB::create):
3322         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
3323         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3324
3325         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3326         (WebCore::GetOperation::perform):
3327         (WebCore::OpenCursorOperation::perform):
3328         (WebCore::CountOperation::perform):
3329         (WebCore::DeleteRangeOperation::perform):
3330         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
3331         (WebCore::CreateObjectStoreOperation::create):
3332         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
3333         (WebCore::DeleteObjectStoreOperation::create):
3334         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
3335         (WebCore::CreateIndexOperation::create):
3336         (WebCore::CreateIndexOperation::CreateIndexOperation):
3337         (WebCore::DeleteIndexOperation::create):
3338         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
3339         (WebCore::GetOperation::create):
3340         (WebCore::GetOperation::GetOperation):
3341         (WebCore::PutOperation::create):
3342         (WebCore::PutOperation::PutOperation):
3343         (WebCore::OpenCursorOperation::create):
3344         (WebCore::OpenCursorOperation::OpenCursorOperation):
3345         (WebCore::CountOperation::create):
3346         (WebCore::CountOperation::CountOperation):
3347         (WebCore::DeleteRangeOperation::create):
3348         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
3349         (WebCore::ClearOperation::create):
3350         (WebCore::ClearOperation::ClearOperation):
3351
3352 2013-10-21  Zoltan Horvath  <zoltan@webkit.org>
3353
3354         [CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
3355         https://bugs.webkit.org/show_bug.cgi?id=123103
3356
3357         Reviewed by David Hyatt.
3358
3359         When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
3360         the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
3361
3362         Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
3363
3364         * rendering/RenderBlock.cpp:
3365         (WebCore::RenderBlock::layoutShapeInsideInfo):
3366         * rendering/RenderBlockLineLayout.cpp:
3367         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3368
3369 2013-10-21  Tim Horton  <timothy_horton@apple.com>
3370
3371         Remote Layer Tree: Backing store should take contentsScale into account
3372         https://bugs.webkit.org/show_bug.cgi?id=123106
3373
3374         Reviewed by Simon Fraser.
3375
3376         * WebCore.exp.in:
3377         Export FloatRect::scale.
3378
3379 2013-10-21  Andreas Kling  <akling@apple.com>
3380
3381         RenderScrollbarPart doesn't need styleWillChange().
3382         <https://webkit.org/b/123113>
3383
3384         We will call setInline(false) in styleDidChange(), there's no need
3385         to override styleWillChange() just to do it twice.
3386
3387         Reviewed by Darin Adler.
3388
3389 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
3390
3391         [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
3392         https://bugs.webkit.org/show_bug.cgi?id=120457
3393
3394         Reviewed by David Hyatt.
3395
3396         This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
3397
3398         The composited layers inside the named flow threads are collected as part of the regions (as children of the
3399         GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
3400         RenderNameFlowFragment)).
3401         When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
3402         that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
3403
3404         This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
3405         fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
3406         that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
3407
3408         Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
3409         the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
3410         parent renderer, not in the region renderer (RenderNamedFlowFragment).
3411
3412         Tests: compositing/regions/crash-transform-inside-region.html
3413                compositing/regions/floated-region-with-transformed-child.html
3414                compositing/regions/move-layer-from-one-region-to-another.html
3415                compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
3416                compositing/regions/propagate-region-box-shadow-border-padding.html
3417                compositing/regions/region-as-layer-in-another-flowthread.html
3418                compositing/regions/transform-transparent-positioned-video-inside-region.html
3419                compositing/regions/transformed-layer-inside-transformed-layer.html
3420                compositing/regions/z-index-update.html
3421                compositing/regions/z-index.html
3422
3423         * rendering/FlowThreadController.cpp:
3424         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
3425         * rendering/RenderElement.cpp:
3426         (WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
3427         through the RenderView::styleDidChange function.
3428         * rendering/RenderFlowThread.cpp:
3429         (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
3430         we update all the mappings between the layers inside the flow thread and the regions where those layers will be
3431         painted.
3432         (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
3433         (WebCore::RenderFlowThread::getLayerListForRegion):
3434         (WebCore::RenderFlowThread::regionForCompositedLayer):
3435         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
3436         (WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
3437         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
3438         from a region to another since the last update.
3439         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
3440         * rendering/RenderFlowThread.h:
3441         * rendering/RenderGeometryMap.cpp:
3442         (WebCore::RenderGeometryMap::pushRenderFlowThread):
3443         * rendering/RenderGeometryMap.h:
3444         * rendering/RenderLayer.cpp:
3445         (WebCore::RenderLayer::paintList):
3446         (WebCore::RenderLayer::enclosingFlowThreadAncestor):
3447         (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
3448         (WebCore::RenderLayer::hitTestList):
3449         (WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
3450         flow threads that collect the graphics layers under the regions.
3451         (WebCore::RenderLayer::dirtyZOrderLists):
3452         (WebCore::RenderLayer::dirtyNormalFlowList):
3453         * rendering/RenderLayer.h:
3454         * rendering/RenderLayerBacking.cpp:
3455         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
3456         layers under the regions
3457         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
3458         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
3459         its borders, paddings, outlines or box-shadows to layers inside it.
3460         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3461         * rendering/RenderLayerBacking.h:
3462         * rendering/RenderLayerCompositor.cpp:
3463         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
3464         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
3465         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
3466         we are going to collect the composited layers as part of regions.
3467         (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
3468         (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
3469         use composited RenderRegions to render the background of the RenderFlowThread.
3470         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
3471         * rendering/RenderLayerCompositor.h:
3472         * rendering/RenderMultiColumnSet.cpp:
3473         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
3474         * rendering/RenderMultiColumnSet.h:
3475         * rendering/RenderNamedFlowFragment.h:
3476         (WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
3477         layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
3478         holding the layer. The return value may be null.
3479         * rendering/RenderNamedFlowThread.cpp:
3480         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3481         (WebCore::RenderNamedFlowThread::nextRendererForNode):
3482         (WebCore::RenderNamedFlowThread::previousRendererForNode):
3483         (WebCore::RenderNamedFlowThread::addFlowChild):
3484         (WebCore::RenderNamedFlowThread::removeFlowChild):
3485         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
3486         * rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
3487         arena under the size limit.
3488         * rendering/RenderRegion.cpp:
3489         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
3490         * rendering/RenderRegion.h:
3491         (WebCore::toRenderRegion):
3492         * rendering/RenderTreeAsText.cpp:
3493         (WebCore::writeLayers):
3494         * WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
3495
3496 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3497
3498         Fixing mediastream debug build
3499         https://bugs.webkit.org/show_bug.cgi?id=123104
3500
3501         Reviewed by Andreas Kling.
3502
3503         No new tests needed.
3504
3505         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
3506         (WebCore::RTCDTMFToneChangeEvent::create):
3507
3508 2013-10-21  Andreas Kling  <akling@apple.com>
3509
3510         Merge RenderListMarker::styleWillChange() into styleDidChange().
3511         <https://webkit.org/b/123098>
3512
3513         If the marker's list-style-type or list-style-position changed, we
3514         need to dirty the layout. Move this logic to styleDidChange() so we
3515         can get rid of one styleWillChange() overload.
3516
3517         Reviewed by Antti Koivisto.
3518
3519 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
3520
3521         [CSS Regions] Fix WHITESPACE issues in the CSS grammar.
3522         https://bugs.webkit.org/show_bug.cgi?id=123082
3523
3524         Reviewed by Andreas Kling.
3525
3526         This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005
3527
3528         Fix WHITESPACE issues in the CSS grammar.
3529
3530         A single WHITESPACE token consumes consecutive spaces, but does not consume
3531         spaces separated by comments. That means S* and S+ in CSS grammars need to
3532         accept multiple WHITESPACE tokens. Additionally, white spaces are not
3533         mandatory to separate an @-symbol and the rest of the prelude.
3534
3535         Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
3536
3537         Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
3538         and @-webkit-region.
3539
3540         Tests: fast/css/calc-comments-allowed.html
3541                fast/regions/webkit-region-syntax-space.html
3542
3543         * css/CSSGrammar.y.in:
3544
3545 2013-10-21  Anton Obzhirov  <a.obzhirov@samsung.com>
3546
3547         [ATK] Use atk_object_notify_state_change instead of manually emitting signals
3548         https://bugs.webkit.org/show_bug.cgi?id=122968
3549
3550         Reviewed by Mario Sanchez Prada.
3551
3552         Refactor emitting "state-change" event to use atk_object_notify_state_change
3553         instead of using g_signal_emit_by_name.
3554
3555         * accessibility/atk/AXObjectCacheAtk.cpp:
3556         (WebCore::notifyChildrenSelectionChange):
3557         (WebCore::AXObjectCache::postPlatformNotification):
3558         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
3559         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
3560         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3561         (webkitAccessibleDetach):
3562         * editing/atk/FrameSelectionAtk.cpp:
3563         (WebCore::maybeEmitTextFocusChange):
3564
3565 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3566
3567         Make TYPE_CASTS_BASE more flexible
3568         https://bugs.webkit.org/show_bug.cgi?id=122951
3569
3570         Reviewed by Andreas Kling.
3571
3572         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
3573         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
3574         This patch modifies TYPE_CASTS_BASE which can support other type casts.
3575
3576         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
3577
3578         No new tests, no behavior changes.
3579
3580         * dom/Document.h:
3581         * dom/Node.h:
3582
3583 2013-10-21  Santosh Mahto  <santosh.ma@samsung.com>
3584
3585         ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
3586         https://bugs.webkit.org/show_bug.cgi?id=122097
3587
3588         Reviewed by Ryosuke Niwa.
3589
3590         When remove format command is called we pushdown the ancestor style
3591         down to its children. Currently applying inline style to iframe
3592         while pushing down style which causes iframe to be reinserted in tree and
3593         triggres again subframe loading which repeats everytime and finally
3594         crash happens. So we should avoid applying inline style to iframe
3595         element as it doesnot reflect in its content while pushing down style
3596         on it.
3597
3598         And ASSERT call has been removed from setTextDecoration property as
3599         the scenario is perfectly valid case.
3600
3601         Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
3602
3603         * editing/ApplyStyleCommand.cpp:
3604         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
3605         element is iframe.
3606         * editing/EditingStyle.cpp:
3607         (WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
3608
3609 2013-10-20  Sam Weinig  <sam@webkit.org>
3610
3611         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
3612         https://bugs.webkit.org/show_bug.cgi?id=122969
3613
3614         Reviewed by Antti Koivisto.
3615
3616         - Move m_lineBoxes to RenderBlockFlow.
3617
3618         * accessibility/AccessibilityRenderObject.cpp:
3619         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3620         * rendering/HitTestResult.cpp:
3621         (WebCore::HitTestResult::innerTextIfTruncated):
3622         * rendering/RenderBlock.cpp:
3623         (WebCore::RenderBlock::RenderBlock):
3624         (WebCore::RenderBlock::willBeDestroyed):
3625         (WebCore::RenderBlock::deleteLineBoxTree):
3626         (WebCore::RenderBlock::isSelfCollapsingBlock):
3627         (WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
3628         (WebCore::RenderBlock::paintContents):
3629         (WebCore::blockDirectionOffset):
3630         (WebCore::inlineDirectionOffset):
3631         (WebCore::RenderBlock::inlineSelectionGaps):
3632         (WebCore::RenderBlock::hitTestContents):
3633         (WebCore::positionForPointRespectingEditingBoundaries):
3634         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3635         (WebCore::RenderBlock::firstLineBoxBaseline):
3636         (WebCore::RenderBlock::inlineBlockBaseline):
3637         (WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
3638         (WebCore::RenderBlock::addFocusRingRects):
3639         (WebCore::RenderBlock::showLineTreeAndMark):
3640         * rendering/RenderBlock.h:
3641         (WebCore::RenderBlock::addOverflowFromInlineChildren):
3642         (WebCore::RenderBlock::hasInlineBoxChildren):
3643         (WebCore::RenderBlock::paintInlineChildren):
3644         (WebCore::RenderBlock::hitTestInlineChildren):
3645         * rendering/RenderBlockFlow.cpp:
3646         (WebCore::RenderBlockFlow::RenderBlockFlow):
3647         (WebCore::RenderBlockFlow::willBeDestroyed):
3648         (WebCore::RenderBlockFlow::deleteLineBoxTree):
3649         (WebCore::RenderBlockFlow::hitTestInlineChildren):
3650         (WebCore::RenderBlockFlow::adjustForBorderFit):
3651         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
3652         (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
3653         (WebCore::RenderBlockFlow::firstLineBoxBaseline):
3654         (WebCore::RenderBlockFlow::inlineBlockBaseline):
3655         (WebCore::RenderBlockFlow::inlineSelectionGaps):
3656         (WebCore::RenderBlockFlow::positionForBox):
3657         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
3658         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
3659         (WebCore::RenderBlockFlow::paintInlineChildren):
3660         (WebCore::RenderBlockFlow::relayoutForPagination):
3661         (WebCore::RenderBlockFlow::showLineTreeAndMark):
3662         * rendering/RenderBlockFlow.h:
3663         (WebCore::RenderBlockFlow::lineBoxes):
3664         (WebCore::RenderBlockFlow::firstLineBox):
3665         (WebCore::RenderBlockFlow::lastLineBox):
3666         (WebCore::RenderBlockFlow::firstRootBox):
3667         (WebCore::RenderBlockFlow::lastRootBox):
3668         * rendering/RenderBlockLineLayout.cpp:
3669         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
3670         * rendering/RootInlineBox.cpp:
3671         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
3672
3673 2013-10-20  Andreas Kling  <akling@apple.com>
3674
3675         Avoid unnecessary vector copy in AnimationController event dispatch.
3676         <https://webkit.org/b/122994>
3677
3678         Use Vector's move constructor instead of making a copy of the pending
3679         events queue and then clearing it.
3680
3681         Reviewed by Simon Fraser.
3682
3683 2013-10-19  Brady Eidson  <beidson@apple.com>
3684
3685         Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
3686         https://bugs.webkit.org/show_bug.cgi?id=123074
3687
3688         Reviewed by Andreas Kling.
3689
3690         * Modules/indexeddb/IDBBackingStoreInterface.h: Added.
3691         (WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
3692         (WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
3693
3694         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3695
3696         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3697         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
3698         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
3699         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
3700         (WebCore::IDBBackingStoreLevelDB::getRecord):
3701         (WebCore::IDBBackingStoreLevelDB::putRecord):
3702         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
3703         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
3704         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
3705         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
3706         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
3707         (WebCore::IDBBackingStoreLevelDB::createIndex):
3708         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
3709         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
3710         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
3711         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
3712         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
3713         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
3714         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
3715         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
3716         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
3717         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3718         (WebCore::IDBBackingStoreLevelDB::Transaction::reset):
3719         (WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
3720
3721         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3722         (WebCore::IDBCursorBackendLevelDB::deleteFunction):
3723         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3724
3725         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3726         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
3727         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
3728         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
3729         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
3730
3731         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3732         (WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
3733
3734         * WebCore.xcodeproj/project.pbxproj:
3735         * GNUmakefile.list.am:
3736
3737 2013-10-20  Andreas Kling  <akling@apple.com>
3738
3739         Use PassRef for StyleSheetContents.
3740         <https://webkit.org/b/123083>
3741
3742         Let functions that return newly-constructed StyleSheetContents
3743         objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
3744
3745         Updated functions that take StyleSheetContents in arguments
3746         accordingly. And CSSStyleSheet now has a Ref internally. Woo!
3747
3748         Reviewed by Antti Koivisto.
3749
3750 2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3751
3752         Removing "unused parameter" compiling warnings from WebKit2 and WebCore
3753         https://bugs.webkit.org/show_bug.cgi?id=123075
3754
3755         Reviewed by Andreas Kling.
3756
3757         No new tests needed.
3758
3759         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
3760         (WebCore::RTCDTMFToneChangeEvent::create):
3761         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3762         (lineAtPositionForAtkBoundary):
3763         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3764         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
3765
3766 2013-10-19  Andreas Kling  <akling@apple.com>
3767
3768         Use PassRef for constructing StyleRules.
3769         <https://webkit.org/b/123072>
3770
3771         Let functions that return newly-constructed StyleRuleFoo objects
3772         vend PassRef<StyleRuleFoo> instead of PassRefPtr.
3773
3774         Since StyleRuleBase::copy() has to return something, we can't rely
3775         on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
3776         those with CRASH(). No call sites actually handled null anyway.
3777
3778         Reviewed by Sam Weinig.
3779
3780 2013-10-19  Jer Noble  <jer.noble@apple.com>
3781
3782         Unreviewed roll out of r157695; broke Mac builds.
3783
3784         * Configurations/FeatureDefines.xcconfig:
3785
3786 2013-10-07  Jer Noble  <jer.noble@apple.com>
3787
3788         [MSE] [Mac] Enable MediaSource on the Mac
3789         https://bugs.webkit.org/show_bug.cgi?id=122484
3790
3791         Reviewed by Darin Adler.
3792
3793         Enable ENABLE_MEDIA_SOURCE.
3794
3795         * Configurations/FeatureDefines.xcconfig:
3796
3797 2013-10-19  Sam Weinig  <sam@webkit.org>
3798
3799         CTTE: Tighten up type usage around InputType::innerTextElement()
3800         https://bugs.webkit.org/show_bug.cgi?id=123078
3801
3802         Reviewed by Anders Carlsson.
3803
3804         * editing/TextIterator.cpp:
3805         (WebCore::TextIterator::handleReplacedElement):
3806         * html/HTMLElement.h:
3807         (WebCore::HTMLElement::isTextControlInnerTextElement):
3808         * html/HTMLInputElement.cpp:
3809         (WebCore::HTMLInputElement::innerTextElement):
3810         * html/HTMLInputElement.h:
3811         * html/HTMLTextAreaElement.cpp:
3812         (WebCore::HTMLTextAreaElement::innerTextElement):
3813         * html/HTMLTextAreaElement.h:
3814         * html/HTMLTextFormControlElement.cpp:
3815         (WebCore::hasVisibleTextArea):
3816         (WebCore::HTMLTextFormControlElement::selection):
3817         (WebCore::HTMLTextFormControlElement::innerTextValue):
3818         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
3819         * html/HTMLTextFormControlElement.h:
3820         * html/InputType.h:
3821         (WebCore::InputType::innerTextElement):
3822         * html/TextFieldInputType.cpp:
3823         (WebCore::TextFieldInputType::forwardEvent):
3824         (WebCore::TextFieldInputType::innerTextElement):
3825         * html/TextFieldInputType.h:
3826         * html/shadow/TextControlInnerElements.cpp:
3827         (WebCore::TextControlInnerTextElement::renderer):
3828         * html/shadow/TextControlInnerElements.h:
3829         (WebCore::isTextControlInnerTextElement):
3830         * rendering/RenderObject.h:
3831         (WebCore::RenderObject::isTextControlInnerBlock):
3832         * rendering/RenderTextControl.cpp:
3833         (WebCore::RenderTextControl::innerTextElement):
3834         (WebCore::RenderTextControl::styleDidChange):
3835         (WebCore::RenderTextControl::textBlockLogicalWidth):
3836         (WebCore::RenderTextControl::updateFromElement):
3837         (WebCore::RenderTextControl::computeLogicalHeight):
3838         (WebCore::RenderTextControl::hitInnerTextElement):
3839         * rendering/RenderTextControl.h:
3840         * rendering/RenderTextControlSingleLine.cpp:
3841         (WebCore::RenderTextControlSingleLine::layout):
3842         (WebCore::RenderTextControlSingleLine::styleDidChange):
3843         (WebCore::RenderTextControlSingleLine::autoscroll):
3844         (WebCore::RenderTextControlSingleLine::scroll):
3845         (WebCore::RenderTextControlSingleLine::logicalScroll):
3846         * rendering/RenderTextControlSingleLine.h:
3847         (WebCore::toRenderTextControlInnerBlock):
3848
3849 2013-10-19  Sam Weinig  <sam@webkit.org>
3850
3851         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
3852         https://bugs.webkit.org/show_bug.cgi?id=122969
3853
3854         Reviewed by Andreas Kling.
3855
3856         - Fix classes derived from RenderBlockFlow that were still calling
3857           up to RenderBlock rather than RenderBlockFlow.
3858
3859         * rendering/RenderDetailsMarker.cpp:
3860         (WebCore::RenderDetailsMarker::paint):
3861         * rendering/RenderFieldset.cpp:
3862         (WebCore::RenderFieldset::computePreferredLogicalWidths):
3863         (WebCore::RenderFieldset::paintBoxDecorations):
3864         (WebCore::RenderFieldset::paintMask):
3865         * rendering/RenderFileUploadControl.cpp:
3866         (WebCore::RenderFileUploadControl::paintObject):
3867         * rendering/RenderFlowThread.cpp:
3868         (WebCore::RenderFlowThread::styleDidChange):
3869         (WebCore::RenderFlowThread::layout):
3870         (WebCore::RenderFlowThread::nodeAtPoint):
3871         * rendering/RenderFullScreen.cpp:
3872         (RenderFullScreenPlaceholder::willBeDestroyed):
3873         * rendering/RenderListItem.cpp:
3874         (WebCore::RenderListItem::styleDidChange):
3875         * rendering/RenderMultiColumnBlock.cpp:
3876         (WebCore::RenderMultiColumnBlock::styleDidChange):
3877         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
3878         (WebCore::RenderMultiColumnBlock::addChild):
3879         * rendering/RenderProgress.cpp:
3880         (WebCore::RenderProgress::updateFromElement):
3881         * rendering/RenderRuby.cpp:
3882         (WebCore::RenderRubyAsBlock::styleDidChange):
3883         (WebCore::RenderRubyAsBlock::addChild):
3884         (WebCore::RenderRubyAsBlock::removeChild):
3885         * rendering/RenderRubyRun.cpp:
3886         (WebCore::RenderRubyRun::rubyBaseSafe):
3887         (WebCore::RenderRubyRun::addChild):
3888         (WebCore::RenderRubyRun::removeChild):
3889         (WebCore::RenderRubyRun::layout):
3890         * rendering/RenderRubyText.cpp:
3891         (WebCore::RenderRubyText::textAlignmentForLine):
3892         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
3893         * rendering/RenderTableCaption.cpp:
3894         (WebCore::RenderTableCaption::willBeRemovedFromTree):
3895         * rendering/RenderTableCell.cpp:
3896         (WebCore::RenderTableCell::willBeRemovedFromTree):
3897         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3898         (WebCore::RenderTableCell::offsetFromContainer):
3899         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3900         (WebCore::RenderTableCell::computeRectForRepaint):
3901         (WebCore::RenderTableCell::styleDidChange):
3902         (WebCore::RenderTableCell::borderLeft):
3903         (WebCore::RenderTableCell::borderRight):
3904         (WebCore::RenderTableCell::borderTop):
3905         (WebCore::RenderTableCell::borderBottom):
3906         (WebCore::RenderTableCell::borderStart):
3907         (WebCore::RenderTableCell::borderEnd):
3908         (WebCore::RenderTableCell::borderBefore):
3909         (WebCore::RenderTableCell::borderAfter):
3910         (WebCore::RenderTableCell::paint):
3911         * rendering/RenderTextControl.cpp:
3912         (WebCore::RenderTextControl::styleDidChange):
3913         * rendering/RenderTextControlSingleLine.cpp:
3914         (WebCore::RenderTextControlSingleLine::scrollWidth):
3915         (WebCore::RenderTextControlSingleLine::scrollHeight):
3916         (WebCore::RenderTextControlSingleLine::scrollLeft):
3917         (WebCore::RenderTextControlSingleLine::scrollTop):
3918         (WebCore::RenderTextControlSingleLine::scroll):
3919         (WebCore::RenderTextControlSingleLine::logicalScroll):
3920         * rendering/RenderTextTrackCue.cpp:
3921         (WebCore::RenderTextTrackCue::layout):
3922         * rendering/RenderView.cpp:
3923         (WebCore::RenderView::layoutContent):
3924         (WebCore::RenderView::addChild):
3925         (WebCore::RenderView::visualOverflowRect):
3926         (WebCore::RenderView::styleDidChange):
3927         * rendering/svg/RenderSVGBlock.cpp:
3928         (WebCore::RenderSVGBlock::setStyle):
3929         (WebCore::RenderSVGBlock::updateFromStyle):
3930         (WebCore::RenderSVGBlock::willBeDestroyed):
3931         (WebCore::RenderSVGBlock::styleWillChange):
3932         (WebCore::RenderSVGBlock::styleDidChange):
3933         * rendering/svg/SVGTextQuery.cpp:
3934         (WebCore::flowBoxForRenderer):
3935
3936 2013-10-19  Sam Weinig  <sam@webkit.org>
3937
3938         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
3939         https://bugs.webkit.org/show_bug.cgi?id=122969
3940
3941         Reviewed by Andreas Kling.
3942
3943         - Move containsNonZeroBidiLevel to RenderBlockFlow.
3944
3945         * editing/Editor.cpp:
3946         (WebCore::Editor::hasBidiSelection):
3947         * rendering/RenderBlock.cpp:
3948         * rendering/RenderBlock.h:
3949         * rendering/RenderBlockFlow.cpp:
3950         (WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
3951         * rendering/RenderBlockFlow.h:
3952
3953 2013-10-18  Sam Weinig  <sam@webkit.org>
3954
3955         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
3956         https://bugs.webkit.org/show_bug.cgi?id=122969
3957
3958         Reviewed by Antti Koivisto.
3959
3960         - Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
3961
3962         * rendering/EllipsisBox.cpp:
3963         (WebCore::EllipsisBox::EllipsisBox):
3964         (WebCore::EllipsisBox::paint):
3965         (WebCore::EllipsisBox::markupBox):
3966         (WebCore::EllipsisBox::selectionRect):
3967         (WebCore::EllipsisBox::paintSelection):
3968         (WebCore::EllipsisBox::nodeAtPoint):
3969         * rendering/EllipsisBox.h:
3970         * rendering/RenderBlock.cpp:
3971         * rendering/RenderBlock.h:
3972         * rendering/RenderBlockFlow.cpp:
3973         (WebCore::shouldCheckLines):
3974         (WebCore::RenderBlockFlow::lineAtIndex):
3975         (WebCore::RenderBlockFlow::lineCount):
3976         (WebCore::getHeightForLineCount):
3977         (WebCore::RenderBlockFlow::heightForLineCount):
3978         (WebCore::RenderBlockFlow::clearTruncation):
3979         * rendering/RenderBlockFlow.h:
3980         * rendering/RenderDeprecatedFlexibleBox.cpp:
3981         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3982         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
3983         * rendering/RootInlineBox.cpp:
3984         (WebCore::RootInlineBox::placeEllipsis):
3985
3986 2013-10-19  Andreas Kling  <akling@apple.com>
3987
3988         StyleResolver should deal in PassRef<RenderStyle> where possible.
3989         <https://webkit.org/b/123061>
3990
3991         Make StyleResolver functions that returned or took RenderStyles
3992         by PassRefPtr use PassRef instead where possible.
3993
3994         Reviewed by Anders Carlsson.
3995
3996 2013-10-19  Brady Eidson  <beidson@apple.com>
3997
3998         Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
3999
4000         Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
4001
4002         * Modules/indexeddb/IDBTransactionBackendInterface.h:
4003         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
4004         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
4005         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
4006         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
4007         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
4008         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
4009         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
4010         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
4011         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
4012         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
4013         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
4014         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
4015         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
4016         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
4017
4018 2013-10-19  peavo@outlook.com  <peavo@outlook.com>
4019
4020         [WinCairo] Link fails.
4021         https://bugs.webkit.org/show_bug.cgi?id=123019
4022
4023         Reviewed by Darin Adler.
4024
4025         Added empty CertificateInfo implementation for Curl.
4026
4027         * WebCore.vcxproj/WebCore.vcxproj:
4028         * WebCore.vcxproj/WebCore.vcxproj.filters:
4029         * platform/network/curl/CertificateInfoCurl.cpp: Added.
4030         (WebCore::CertificateInfo::CertificateInfo):
4031         (WebCore::CertificateInfo::~CertificateInfo):
4032
4033 2013-10-19  Filip Pizlo  <fpizlo@apple.com>
4034
4035         libWebCoreTestSupport should have explicit exports
4036         https://bugs.webkit.org/show_bug.cgi?id=123053
4037
4038         Reviewed by Oliver Hunt.
4039
4040         No new tests because there is no change in behavior.
4041
4042         * Configurations/WebCoreTestSupport.xcconfig:
4043         * testing/js/WebCoreTestSupport.h:
4044
4045 2013-10-18  Andreas Kling  <akling@apple.com>
4046
4047         Start passing RenderStyle around with PassRef.
4048         <https://webkit.org/b/123051>
4049
4050         Made the RenderStyle::create methods return PassRef<RenderStyle>
4051         and RenderElement::setStyle take a PassRef<RenderStyle>.
4052
4053         Reviewed by Darin Adler.
4054
4055 2013-10-18  Sam Weinig  <sam@webkit.org>
4056
4057         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
4058         https://bugs.webkit.org/show_bug.cgi?id=122969
4059
4060         Reviewed by Dan Bernstein.
4061
4062         - Make the RootInlineBox constructor take a RenderBlockFlow.
4063         - Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
4064
4065         * editing/VisibleUnits.cpp:
4066         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
4067         * rendering/InlineBox.cpp:
4068         (WebCore::InlineBox::locationIncludingFlipping):
4069         (WebCore::InlineBox::flipForWritingMode):
4070         * rendering/InlineFlowBox.cpp:
4071         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
4072         * rendering/RenderBlock.cpp:
4073         * rendering/RenderBlock.h:
4074         * rendering/RenderBlockFlow.h:
4075         * rendering/RenderBlockLineLayout.cpp:
4076         (WebCore::RenderBlockFlow::createRootInlineBox):
4077         (WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
4078         (WebCore::createInlineBoxForRenderer):
407