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