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