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