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