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