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