[Curl] Cookies are sometimes not set in download request.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
2
3         [Curl] Cookies are sometimes not set in download request.
4         https://bugs.webkit.org/show_bug.cgi?id=123445
5
6         Reviewed by Brent Fulgham.
7
8         Sometimes cookies are not set in the download request because the cookie file cannot be opened,
9         it's already been opened by the ResourceHandleManager for writing.
10         This can be fixed by getting the cookie list from the share handle in ResourceHandleManager instead.
11         This will also improve performance, as there is no need to read and parse the cookie file for each download.
12
13         * platform/network/curl/CurlDownload.cpp:
14         (WebCore::CurlDownload::init): Use share handle to get cookie list.
15
16 2013-10-30  ChangSeok Oh  <changseok.oh@collabora.com>
17
18         Unguard Element::childShouldCreateRenderer
19         https://bugs.webkit.org/show_bug.cgi?id=123496
20
21         Reviewed by Andreas Kling.
22
23         Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
24         just leaves potential build issues.
25
26         No new tests since no functionality changed.
27
28         * dom/Element.cpp:
29         (WebCore::Element::childShouldCreateRenderer):
30         * dom/Element.h:
31
32 2013-10-30  Jer Noble  <jer.noble@apple.com>
33
34         [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
35         https://bugs.webkit.org/show_bug.cgi?id=123350
36
37         Reviewed by Darin Adler.
38
39         Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
40         they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
41         which creates them.
42
43         Change OwnPtr -> RefPtr everywhere:
44         * Modules/mediasource/MediaSource.cpp:
45         (WebCore::MediaSource::addSourceBuffer):
46         * Modules/mediasource/MediaSourceBase.cpp:
47         (WebCore::MediaSourceBase::setPrivateAndOpen):
48         (WebCore::MediaSourceBase::createSourceBufferPrivate):
49         * Modules/mediasource/MediaSourceBase.h:
50         * Modules/mediasource/SourceBuffer.cpp:
51         (WebCore::SourceBuffer::create):
52         (WebCore::SourceBuffer::SourceBuffer):
53         * Modules/mediasource/SourceBuffer.h:
54         * Modules/mediasource/WebKitMediaSource.cpp:
55         (WebCore::WebKitMediaSource::addSourceBuffer):
56         * Modules/mediasource/WebKitSourceBuffer.cpp:
57         (WebCore::WebKitSourceBuffer::create):
58         (WebCore::WebKitSourceBuffer::WebKitSourceBuffer):
59         * Modules/mediasource/WebKitSourceBuffer.h:
60         * html/HTMLMediaSource.h:
61         * platform/graphics/MediaSourcePrivate.h:
62         * platform/graphics/SourceBufferPrivate.h:
63         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
64
65 2013-10-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
66
67         Remove unused runtime enabled
68         https://bugs.webkit.org/show_bug.cgi?id=123509
69
70         Reviewed by Anders Carlsson.
71
72         Some of the runtime enabled features were only ever used by the V8 bindings
73         and can be removed as no WebKit code sets or reads them.
74
75         * bindings/generic/RuntimeEnabledFeatures.cpp:
76         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
77         * bindings/generic/RuntimeEnabledFeatures.h:
78
79 2013-10-30  Antti Koivisto  <antti@apple.com>
80
81         Make SimpleLineLayout::Layout a class
82         https://bugs.webkit.org/show_bug.cgi?id=123508
83
84         Reviewed by Mario Sanchez Prada.
85
86         Improve encapsulation.
87
88 2013-10-30  Antti Koivisto  <antti@apple.com>
89
90         REGRESSION(r158214): It made zillion tests crash on GTK and EFL
91         https://bugs.webkit.org/show_bug.cgi?id=123505
92
93         * rendering/SimpleLineLayout.h: Add WTF_MAKE_FAST_ALLOCATED
94
95 2013-10-29  Philippe Normand  <pnormand@igalia.com>
96
97         [GStreamer] Store video-sink in a bin
98         https://bugs.webkit.org/show_bug.cgi?id=122831
99
100         Reviewed by Gustavo Noronha Silva.
101
102         For the upcoming mediastream playback support the player will
103         handle a non-playbin-based pipeline that will require a slightly
104         different video rendering chain. This patch generalizes the
105         encapsulation of the video sink in a bin, just like the audio sink
106         case.
107
108         No new tests, no change in functionality.
109
110 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
111
112         REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
113         https://bugs.webkit.org/show_bug.cgi?id=122882
114
115         Reviewed by Anders Carlsson.
116
117         scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
118         In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
119
120         * html/HTMLBodyElement.cpp:
121         (WebCore::HTMLBodyElement::scrollLeft):
122         (WebCore::HTMLBodyElement::setScrollLeft):
123         (WebCore::HTMLBodyElement::scrollTop):
124         (WebCore::HTMLBodyElement::setScrollTop):
125
126 2013-10-29  Brady Eidson  <beidson@apple.com>
127
128         IDBTransactionBackend should be cross platform
129         https://bugs.webkit.org/show_bug.cgi?id=123449
130
131         Reviewed by Beth Dakin.
132
133         - Rename IDBTransactionBackendLevelDB to IDBTransactionBackendImpl
134         - Rename IDBTransactionBackendLevelDBOperations to IDBTransactionBackendOperations
135         - Move their files from the leveldb subdirectory to the indexeddb directory
136
137         * CMakeLists.txt:
138         * GNUmakefile.list.am:
139         * WebCore.xcodeproj/project.pbxproj:
140
141         * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp.
142         * Modules/indexeddb/IDBTransactionBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h.
143         * Modules/indexeddb/IDBTransactionBackendOperations.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp.
144         * Modules/indexeddb/IDBTransactionBackendOperations.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h.
145
146         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
147         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
148         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
149         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
150
151 2013-10-29  Sam Weinig  <sam@webkit.org>
152
153         Modernize DatasetDOMStringMap and ClassList a bit
154         https://bugs.webkit.org/show_bug.cgi?id=123491
155
156         Reviewed by Andreas Kling.
157
158         * dom/DatasetDOMStringMap.cpp:
159         * dom/DatasetDOMStringMap.h:
160         * dom/Element.cpp:
161         * dom/ElementRareData.h:
162         * html/ClassList.cpp:
163         * html/ClassList.h:
164         Pass the owner Element by reference and store in a std::unique_ptr.
165
166 2013-10-29  Brady Eidson  <beidson@apple.com>
167
168         Attempted build-fix after http://trac.webkit.org/changeset/158234
169
170         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
171         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction): Implement this!
172
173 2013-10-29  Andreas Kling  <akling@apple.com>
174
175         ElementData construction helpers should return PassRef.
176         <https://webkit.org/b/123487>
177
178         Make functions that create new ElementData objects return appropriate
179         PassRef pointers instead of PassRefPtr.
180
181         Reviewed by Anders Carlsson.
182
183 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
184
185         GTK+ build fix attempt after r158220.
186
187         * GNUmakefile.list.am:
188
189 2013-10-29  Brady Eidson  <beidson@apple.com>
190
191         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
192         https://bugs.webkit.org/show_bug.cgi?id=123483
193
194         Reviewed by Andreas Kling.
195
196         * Modules/indexeddb/IDBCursorBackendInterface.h:
197         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
198         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
199         * Modules/indexeddb/IDBFactoryBackendInterface.h:
200         * Modules/indexeddb/IDBTransactionBackendInterface.h:
201
202         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
203         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
204         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
205         (WebCore::IDBCursorBackendLevelDB::create):
206
207         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
208         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
209         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
210
211         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
212         (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
213         (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
214         (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
215         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
216         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
217
218         * WebCore.xcodeproj/project.pbxproj: Export a required header.
219
220 2013-10-29  Seokju Kwon  <seokju@webkit.org>
221
222         Remove mutable keyword from member variables of XMLHttpRequest
223         https://bugs.webkit.org/show_bug.cgi?id=123481
224
225         Reviewed by Andreas Kling.
226
227         No new tests, no change in functionality.
228
229         * xml/XMLHttpRequest.h: Remove mutable keyword as these are no longer used in const functions.
230
231 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
232
233         Underline bounds cannot be queried before underline itself is drawn
234         https://bugs.webkit.org/show_bug.cgi?id=123310
235
236         Reviewed by Simon Fraser
237
238         GraphicsContext's drawLineForText function is used to draw underlines,
239         strikethroughs, and overlines. Before drawing the line, this function
240         modifies the bounds given to it in order to make underlines crisp. However,  
241         this means that it is impossible to know where an underline will be drawn
242         before drawing it. This patch pulls out this adjustment computation into 
243         InlineTextBox, then passes the result to drawLineForText.
244
245         Because there should be no observable difference, no tests need to be updated.
246
247         * platform/graphics/GraphicsContext.h: Changing the signature of drawLineForText
248         so it can accept bounds from our helper function
249         * platform/graphics/blackberry/PathBlackBerry.cpp:
250         (WebCore::GraphicsContext::drawLineForText): Update to work with new
251         signature of drawLineForText
252         * platform/graphics/cairo/GraphicsContextCairo.cpp:
253         (WebCore::GraphicsContext::drawLineForText): Ditto
254         * platform/graphics/cg/GraphicsContextCG.cpp:
255         (WebCore::GraphicsContext::drawLineForText): Ditto
256         * platform/graphics/wince/GraphicsContextWinCE.cpp:
257         (WebCore::GraphicsContext::drawLineForText): Ditto
258         * platform/win/WebCoreTextRenderer.cpp:
259         (WebCore::doDrawTextAtPoint): Update the last call site of drawLineForText
260         * rendering/InlineTextBox.cpp:
261         (WebCore::computeBoundsForUnderline): Pure function that computes the adjusted
262         bounds of the underline about to be drawn
263         (WebCore::drawLineForText): calls computeBoundsForUnderline and then
264         GraphicsContext::drawLineForText
265         (WebCore::InlineTextBox::paintDecoration): Use new drawLineForText function
266         (WebCore::InlineTextBox::paintCompositionUnderline): Ditto
267
268 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
269
270         Beef up CryptoKey
271         https://bugs.webkit.org/show_bug.cgi?id=123462
272
273         Fix a mismerge, remove duplicate CryptoKeyType declaration.
274
275         * crypto/CryptoKey.h:
276
277 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
278
279         Beef up CryptoKey
280         https://bugs.webkit.org/show_bug.cgi?id=123462
281
282         Reviewed by Sam Weinig.
283
284         * WebCore.xcodeproj/project.pbxproj: Added new files.
285
286         * crypto/CryptoAlgorithmIdentifier.h: Added an enum with all registered algorithms
287         (they don't have to be all implemented in any port).
288
289         * crypto/CryptoKey.cpp:
290         (WebCore::CryptoKey::CryptoKey): Initialize base class variables.
291         (WebCore::CryptoKey::type): Convert internal representation for bindings use.
292         (WebCore::CryptoKey::buildAlgorithmDescription): Ditto. This function is supposed
293         to be called by derived classes before adding other keyes.
294         (WebCore::CryptoKey::usages): Convert internal representation for bindings use.
295
296         * crypto/CryptoKey.h:
297         (WebCore::CryptoKey::extractable): Expose for bindings.
298         (WebCore::CryptoKey::allows): A faster way to check allowed key usage from C++ code.
299
300         * crypto/CryptoKey.idl: Added SkipVTableValidation, because validation doesn't work
301         with derived classes. Corrected "usages" attribute name.
302
303         * crypto/CryptoKeyFormat.h: Added. 
304         * crypto/CryptoKeyType.h: Added.
305         * crypto/CryptoKeyUsage.h: Added.
306         Added enums used by CryptoKey.
307
308 2013-10-29  Hugo Parente Lima  <hugo.lima@openbossa.org>
309
310         Adding Nix files in Source/Platform to trunk
311         https://bugs.webkit.org/show_bug.cgi?id=118331
312
313         Reviewed by Benjamin Poulain.
314
315         Add Nix WebAudio implementation that just forward some calls to our API.
316         This patch is part of the upstream process, tests will be landed by other patches.
317
318         * platform/audio/nix/AudioBusNix.cpp: Added.
319         * platform/audio/nix/AudioDestinationNix.cpp: Added.
320         * platform/audio/nix/AudioDestinationNix.h: Added.
321         * platform/audio/nix/FFTFrameNix.cpp: Added.
322         * platform/nix/support/MultiChannelPCMData.cpp: Added.
323
324 2013-10-29  Brady Eidson  <beidson@apple.com>
325
326         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface::Transaction.
327         https://bugs.webkit.org/show_bug.cgi?id=123475
328
329         Reviewed by Tim Horton.
330
331         Currently it's using IDBBackingStoreLevelDB::Transaction, which hinders the goal of:
332         https://bugs.webkit.org/show_bug.cgi?id=123449 - IDBTransactionBackend should be cross platform
333
334         * Modules/indexeddb/IDBBackingStoreInterface.h:
335
336         * Modules/indexeddb/IDBIndexWriter.cpp:
337         (WebCore::IDBIndexWriter::writeIndexKeys):
338         (WebCore::IDBIndexWriter::verifyIndexKeys):
339         (WebCore::IDBIndexWriter::addingKeyAllowed):
340         * Modules/indexeddb/IDBIndexWriter.h:
341
342         * Modules/indexeddb/IDBTransactionBackendInterface.h:
343
344         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
345         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
346         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseMetaData):
347         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
348         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
349         (WebCore::IDBBackingStoreLevelDB::getRecord):
350         (WebCore::IDBBackingStoreLevelDB::putRecord):
351         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
352         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
353         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
354         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
355         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
356         (WebCore::IDBBackingStoreLevelDB::createIndex):
357         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
358         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
359         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
360         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
361         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
362         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
363         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
364         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
365         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
366         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
367
368         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
369         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
370         (WebCore::IDBTransactionBackendLevelDB::abort):
371         (WebCore::IDBTransactionBackendLevelDB::commit):
372         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
373         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
374
375 2013-10-29  Dean Jackson  <dino@apple.com>
376
377         Move InlineTextBox's text painting to it's own class
378         https://bugs.webkit.org/show_bug.cgi?id=123355
379
380         Reinstate the LGPL license. I incorrectly told Myles to
381         use another license on these new files.
382
383         * rendering/TextPainter.cpp:
384         * rendering/TextPainter.h:
385
386 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
387
388         Move InlineTextBox's text painting to it's own class
389         https://bugs.webkit.org/show_bug.cgi?id=123355
390
391         Reviewed by Dean Jackson.
392
393         Implementing text-decoration-skip: ink requires drawing text
394         twice (once regularly, and once with a thick outline into a mask).
395         This patch pulls out the relevant text drawing code from
396         InlineTextBox into a new class, called TextPainter, which can be re-used
397         to draw text multiple times.
398
399         Because there should be no observable difference, no tests need to be updated.
400
401         * CMakeLists.txt: Adding new TextPainter class
402         * GNUmakefile.list.am: Adding new TextPainter class
403         * WebCore.vcxproj/WebCore.vcxproj: Adding new TextPainter class
404         * WebCore.vcxproj/WebCore.vcxproj.filters: Adding new TextPainter
405         class
406         * WebCore.xcodeproj/project.pbxproj: Adding new TextPainter class
407         * rendering/InlineTextBox.cpp:
408         (WebCore::InlineTextBox::paint): Moving text drawing code from
409         this function
410         * rendering/RenderingAllInOne.cpp: Adding new TextPainter class
411         * rendering/TextPainter.cpp: Added.
412         (WebCore::TextPainter::TextPainter):
413         (WebCore::drawTextOrEmphasisMarks):
414         (WebCore::paintTextWithShadows):
415         (WebCore::rotation):
416         (WebCore::TextPainter::paintText): New location for text drawing
417         code
418         (WebCore::TextPainter::paintTextInContext):
419         * rendering/TextPainter.h: Added.
420         (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask):
421         (WebCore::TextPainter::boxRect):
422
423 2013-10-29  Jer Noble  <jer.noble@apple.com>
424
425         [MSE] [Mac] Enable MediaSource on the Mac
426         https://bugs.webkit.org/show_bug.cgi?id=122484
427
428         Reviewed by Darin Adler.
429
430         Enable ENABLE_MEDIA_SOURCE.
431
432         * Configurations/FeatureDefines.xcconfig:
433
434 2013-10-29  Tim Horton  <timothy_horton@apple.com>
435
436         Build fix after 158223; make TileController use float for scales.
437
438         This matches what we do in other places, and fixes the constant
439         issue with exporting symbols that include CGFloat.
440
441         * WebCore.exp.in:
442         * platform/graphics/ca/mac/TileController.h:
443         (WebCore::TileController::scale):
444         * platform/graphics/ca/mac/TileController.mm:
445         (WebCore::TileController::setScale):
446
447 2013-10-29  Antti Koivisto  <antti@apple.com>
448
449         Try to keep MSVC happy.
450
451         * rendering/SimpleLineLayout.h:
452         (WebCore::SimpleLineLayout::Run::Run):
453
454 2013-10-29  Tim Horton  <timothy_horton@apple.com>
455
456         More correct build fix after 158223.
457
458         Only fails in release because it's inline.
459
460         * WebCore.exp.in:
461
462 2013-10-29  Antti Koivisto  <antti@apple.com>
463
464         Use left/right instead of left/width for simple text runs
465         https://bugs.webkit.org/show_bug.cgi?id=123465
466
467         Reviewed by Andreas Kling.
468
469         This simplifies the code a bit.
470
471         * rendering/SimpleLineLayout.cpp:
472         (WebCore::SimpleLineLayout::adjustRunOffsets):
473         (WebCore::SimpleLineLayout::create):
474         * rendering/SimpleLineLayout.h:
475         (WebCore::SimpleLineLayout::Run::Run):
476         * rendering/SimpleLineLayoutResolver.h:
477         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
478
479 2013-10-29  Tim Horton  <timothy_horton@apple.com>
480
481         Try fixing the Mac build (though I have no idea why
482         this wouldn't fail locally)...
483
484         * WebCore.exp.in:
485
486 2013-10-29  Tim Horton  <timothy_horton@apple.com>
487
488         Remote Layer Tree: Support tiled drawing and use it for the main frame
489         https://bugs.webkit.org/show_bug.cgi?id=123422
490
491         Reviewed by Simon Fraser.
492
493         * WebCore.exp.in:
494         * WebCore.xcodeproj/project.pbxproj:
495
496 2013-10-29  Eric Carlson  <eric.carlson@apple.com>
497
498         [Mac MediaStream] implement AVFoundation backed MediaStreamSource
499         https://bugs.webkit.org/show_bug.cgi?id=123316
500
501         Reviewed by Jer Noble
502
503         No new tests, existing tests updated.
504
505         * CMakeLists.txt: Add MediaStreamSourceStates.cpp.
506
507         * Modules/mediastream/MediaSourceStates.cpp:
508         (WebCore::MediaSourceStates::MediaSourceStates): m_SourceStates -> m_sourceStates.
509         (WebCore::MediaSourceStates::sourceType): Ditto.
510         (WebCore::MediaSourceStates::facingMode): Ditto.
511         * Modules/mediastream/MediaSourceStates.h: Ditto.
512         * Modules/mediastream/MediaSourceStates.idl: Mark some attributes as optional.
513
514         * Modules/mediastream/MediaStream.cpp:
515         (WebCore::MediaStream::addTrack):
516         (WebCore::MediaStream::removeTrack):
517         (WebCore::MediaStream::addRemoteSource):
518         (WebCore::MediaStream::removeRemoteSource):
519
520         * Modules/mediastream/MediaStreamCapabilities.cpp:
521         (WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
522         (WebCore::MediaStreamCapabilities::facingMode): Ditto.
523
524         * Modules/mediastream/MediaStreamTrack.cpp:
525         (WebCore::MediaStreamTrack::MediaStreamTrack): Don't observe source changes directly, let the
526             private track do that. Change private track parameter to ref because it can't be NULL.
527         (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
528         (WebCore::MediaStreamTrack::setSource): Pass through to private track.
529         (WebCore::MediaStreamTrack::stopped): Ditto.
530         (WebCore::MediaStreamTrack::states): Ditto.
531         (WebCore::MediaStreamTrack::capabilities): Ditto.
532         (WebCore::MediaStreamTrack::applyConstraints): Ditto.
533         (WebCore::MediaStreamTrack::stopProducingData): Ditto.
534         (WebCore::MediaStreamTrack::trackReadyStateChanged): Renamed from sourceStateChanged. Don't
535             schedule an 'ended' event if called as a side effect of the stop() method having been
536             called as per spec.
537         (WebCore::MediaStreamTrack::trackMutedChanged): Renamed from sourceMutedChanged.
538         (WebCore::MediaStreamTrack::trackEnabledChanged): Renamed from sourceEnabledChanged.
539         (WebCore::MediaStreamTrack::stop): Pass through to private track.
540         * Modules/mediastream/MediaStreamTrack.h:
541         (WebCore::MediaStreamTrack::Observer::~Observer): Add virtual destructor.
542
543         * Modules/mediastream/UserMediaRequest.cpp:
544         (WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.
545
546         * WebCore.xcodeproj/project.pbxproj: Add new files.
547
548         * bindings/js/JSMediaSourceStatesCustom.cpp:
549         (WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
550             is Unknown.
551
552         * platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
553             undefined method prototype.
554
555         * platform/mediastream/MediaStreamDescriptor.cpp:
556         (WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
557         (WebCore::MediaStreamDescriptor::removeSource): Ditto.
558         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
559
560         * platform/mediastream/MediaStreamSource.cpp:
561         (WebCore::MediaStreamSource::setReadyState): Call startProducingData when readyState changes
562             to Live, stopProducingData when it changes to Ended.
563         (WebCore::MediaStreamSource::removeObserver): Call stop() when there are no more observers.
564         (WebCore::MediaStreamSource::setEnabled): If passed false, do nothing unless all observers
565             are disabled. Call startProducingData/stopProducingData when becoming enabled/disabled.
566         (WebCore::MediaStreamSource::stop): Don't bother checking to see if other observers have
567             stopped, the spec says that track.stop() should permanently stop the track's source.
568         * platform/mediastream/MediaStreamSource.h:
569         (WebCore::MediaStreamSource::name): Make virtual so derived classes can override.
570         (WebCore::MediaStreamSource::setName): Ditto.
571         (WebCore::MediaStreamSource::readyState): Ditto.
572         (WebCore::MediaStreamSource::enabled): Ditto.
573         (WebCore::MediaStreamSource::muted): Ditto.
574         (WebCore::MediaStreamSource::setReadonly): Ditto.
575         (WebCore::MediaStreamSource::remote): Ditto.
576         (WebCore::MediaStreamSource::setRemote): Ditto.
577         (WebCore::MediaStreamSource::startProducingData): Added.
578         (WebCore::MediaStreamSource::stopProducingData): Added.
579
580         * platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
581             its own file.
582
583         * platform/mediastream/MediaStreamSourceStates.cpp: Added.
584         (WebCore::MediaStreamSourceStates::facingMode): Moved here from MediaSourceStates so the 
585             strings are available to platform code.
586         (WebCore::MediaStreamSourceStates::sourceType): Ditto.
587         * platform/mediastream/MediaStreamSourceStates.h: Added, moved from MediaStreamSourceCapabilities.h.
588
589         * platform/mediastream/MediaStreamTrackPrivate.cpp:
590         (WebCore::MediaStreamTrackPrivate::create): Pass private track to constructor as PassRefPtr.
591         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): Initialize member variables.
592         (WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Unregister as source observer.
593         (WebCore::MediaStreamTrackPrivate::setSource): Unregister/register as source observer.
594         (WebCore::MediaStreamTrackPrivate::setEnabled): Enable/disable source, call client.
595         (WebCore::MediaStreamTrackPrivate::stop): New. Set readyState to Ended, optionally stop source.
596         (WebCore::MediaStreamTrackPrivate::setReadyState): Inline the logic from shouldFireTrackReadyStateChanged.
597         (WebCore::MediaStreamTrackPrivate::constraints): New, passthrough to the source.
598         (WebCore::MediaStreamTrackPrivate::states): Ditto.
599         (WebCore::MediaStreamTrackPrivate::type): Ditto.
600         (WebCore::MediaStreamTrackPrivate::capabilities): Ditto.
601         (WebCore::MediaStreamTrackPrivate::applyConstraints): Ditto.
602         (WebCore::MediaStreamTrackPrivate::sourceReadyStateChanged): React to source changes.
603         (WebCore::MediaStreamTrackPrivate::sourceMutedChanged): Ditto.
604         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
605         (WebCore::MediaStreamTrackPrivate::observerIsEnabled): Respond to source query.
606         (WebCore::MediaStreamTrackPrivate::observerIsStopped): Ditto.
607         * platform/mediastream/MediaStreamTrackPrivate.h:
608
609         * platform/mediastream/mac/AVAudioCaptureSource.h: Added.
610         * platform/mediastream/mac/AVAudioCaptureSource.mm: Added.
611
612         * platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
613         * platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.
614
615         * platform/mediastream/mac/AVMediaCaptureSource.h: Added.
616         * platform/mediastream/mac/AVMediaCaptureSource.mm: Added.
617
618         * platform/mediastream/mac/AVVideoCaptureSource.h: Added.
619         * platform/mediastream/mac/AVVideoCaptureSource.mm: Added.
620
621         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
622         (WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
623         (WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
624         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.
625
626         * platform/mock/MockMediaStreamCenter.cpp:
627         (WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
628         (WebCore::MockMediaStreamCenter::createMediaStream):
629
630 2013-10-29  Zoltan Horvath  <zoltan@webkit.org>
631
632         [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
633         <https://webkit.org/b/123346>
634
635         Reviewed by David Hyatt.
636
637         We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
638         Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
639         the first line in the region.
640
641         Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html
642
643         * rendering/RenderBlockLineLayout.cpp:
644         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
645
646 2013-10-29  Brady Eidson  <beidson@apple.com>
647
648         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
649         https://bugs.webkit.org/show_bug.cgi?id=123451
650
651         Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)
652
653         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
654         (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.
655
656 2013-10-29  Brady Eidson  <beidson@apple.com>
657
658         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
659         https://bugs.webkit.org/show_bug.cgi?id=123451
660
661         Reviewed by Andreas Kling.
662
663         This involves:
664         - Splitting out IDBTransactionBackendLevelDB::Operation into its own header
665         - Splitting out IDBDatabaseBackendImpl::PendingOpenCall into its own header
666         - Reworking the LevelDB Operations to handle the base class IDBTransactionBackendInterface
667         - Adding virtual methods in a few of the *Interface classes to support the above
668
669         * GNUmakefile.list.am:
670         * WebCore.xcodeproj/project.pbxproj:
671
672         * Modules/indexeddb/IDBCallbacks.h:
673
674         * Modules/indexeddb/IDBCursorBackendInterface.h:
675
676         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
677         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
678         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
679         (WebCore::IDBDatabaseBackendImpl::openConnection):
680         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
681         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
682         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
683
684         * Modules/indexeddb/IDBOperation.h: Added.
685         (WebCore::IDBOperation::~IDBOperation):
686
687         * Modules/indexeddb/IDBPendingOpenCall.h: Added.
688         (WebCore::IDBPendingOpenCall::create):
689         (WebCore::IDBPendingOpenCall::callbacks):
690         (WebCore::IDBPendingOpenCall::databaseCallbacks):
691         (WebCore::IDBPendingOpenCall::version):
692         (WebCore::IDBPendingOpenCall::transactionId):
693         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
694
695         * Modules/indexeddb/IDBRequest.h:
696
697         * Modules/indexeddb/IDBTransactionBackendInterface.h:
698
699         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
700         (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::create):
701         (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::create):
702         (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::create):
703         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
704         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
705
706         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
707         (WebCore::IDBTransactionBackendLevelDB::scheduleTask):
708         (WebCore::IDBTransactionBackendLevelDB::abort):
709         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
710         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
711         (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
712         (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
713         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
714         (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
715         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
716         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
717
718         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
719         (WebCore::CreateObjectStoreOperation::perform):
720         (WebCore::CreateIndexOperation::perform):
721         (WebCore::CreateIndexAbortOperation::perform):
722         (WebCore::DeleteIndexOperation::perform):
723         (WebCore::DeleteIndexAbortOperation::perform):
724         (WebCore::OpenCursorOperation::perform):
725         (WebCore::DeleteObjectStoreOperation::perform):
726         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
727         (WebCore::CreateObjectStoreAbortOperation::perform):
728         (WebCore::DeleteObjectStoreAbortOperation::perform):
729         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
730         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
731         (WebCore::CreateObjectStoreOperation::create):
732         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
733         (WebCore::DeleteObjectStoreOperation::create):
734         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
735         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
736         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
737         (WebCore::CreateObjectStoreAbortOperation::create):
738         (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
739         (WebCore::DeleteObjectStoreAbortOperation::create):
740         (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
741         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
742         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
743         (WebCore::CreateIndexOperation::create):
744         (WebCore::CreateIndexOperation::CreateIndexOperation):
745         (WebCore::CreateIndexAbortOperation::create):
746         (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
747         (WebCore::DeleteIndexOperation::create):
748         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
749         (WebCore::DeleteIndexAbortOperation::create):
750         (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
751         (WebCore::GetOperation::create):
752         (WebCore::GetOperation::GetOperation):
753         (WebCore::PutOperation::create):
754         (WebCore::PutOperation::PutOperation):
755         (WebCore::SetIndexesReadyOperation::create):
756         (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
757         (WebCore::OpenCursorOperation::create):
758         (WebCore::OpenCursorOperation::OpenCursorOperation):
759         (WebCore::CountOperation::create):
760         (WebCore::CountOperation::CountOperation):
761         (WebCore::DeleteRangeOperation::create):
762         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
763         (WebCore::ClearOperation::create):
764         (WebCore::ClearOperation::ClearOperation):
765
766 2013-10-29  Antti Koivisto  <antti@apple.com>
767
768         Make SimpleLineLayout::Layout a variable size object
769         https://bugs.webkit.org/show_bug.cgi?id=123459
770
771         Reviewed by Andreas Kling.
772
773         Less memory, less indirection.
774
775         * rendering/SimpleLineLayout.cpp:
776         (WebCore::SimpleLineLayout::canUseFor):
777         (WebCore::SimpleLineLayout::create):
778         (WebCore::SimpleLineLayout::Layout::create):
779         (WebCore::SimpleLineLayout::Layout::Layout):
780         * rendering/SimpleLineLayout.h:
781         * rendering/SimpleLineLayoutFunctions.cpp:
782         (WebCore::SimpleLineLayout::hitTestFlow):
783         * rendering/SimpleLineLayoutFunctions.h:
784         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
785         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
786         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
787         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
788         (WebCore::SimpleLineLayout::containsTextCaretOffset):
789         (WebCore::SimpleLineLayout::isTextRendered):
790         * rendering/SimpleLineLayoutResolver.h:
791         (WebCore::SimpleLineLayout::RunResolver::end):
792
793 2013-10-29  Andreas Kling  <akling@apple.com>
794
795         RenderObject::outlineStyleForRepaint() should return a reference.
796         <https://webkit.org/b/123453>
797
798         Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.
799
800         Reviewed by Antti Koivisto.
801
802 2013-10-29  Andreas Kling  <akling@apple.com>
803
804         Move more of SVG resources cache to using RenderElement.
805         <https://webkit.org/b/123452>
806
807         Make some more RenderSVGResourcesCache methods take RenderElement&
808         instead of RenderObject*.
809
810         Also removed a double hash lookup in removeResourcesFromRenderer().
811
812         Reviewed by Antti Koivisto.
813
814 2013-10-29  Joseph Pecoraro  <pecoraro@apple.com>
815
816         Web Inspector: Remove old Inspector.json version files and generators
817         https://bugs.webkit.org/show_bug.cgi?id=123426
818
819         Reviewed by Timothy Hatcher.
820
821         * CMakeLists.txt:
822         * DerivedSources.make:
823         * GNUmakefile.am:
824         * GNUmakefile.list.am:
825         * WebCore.xcodeproj/project.pbxproj:
826         * inspector/Inspector-0.1.json: Removed.
827         * inspector/Inspector-1.0.json: Removed.
828         * inspector/generate-inspector-protocol-version: Removed.
829
830 2013-10-29  Philippe Normand  <pnormand@igalia.com>
831
832         [GTK] DOM bindings documentation errors
833         https://bugs.webkit.org/show_bug.cgi?id=123448
834
835         Reviewed by Carlos Garcia Campos.
836
837         * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
838         return types.
839         * bindings/scripts/CodeGeneratorGObject.pm:
840         (GenerateFunction): Generate Returns documentation tag for
841         non-void return types and provide basic documentation.
842         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
843         Reset tests results.
844         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
845         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
846         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
847         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
848         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
849         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
850         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
851         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
852         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
853
854 2013-10-24  Brent Fulgham  <bfulgham@apple.com>
855
856         Invalid cast in WebCore::toRenderMathMLBlock
857         https://bugs.webkit.org/show_bug.cgi?id=121728
858         rdar://problem/15046151
859
860         Reviewed by Dean Jackson.
861
862         Tested by: mathml/arbitrary-markup.html
863
864         * dom/Element.h: Expose childShouldCreateRenderer for
865         MathML as well as SVG builds.
866         * dom/Node.h: 
867         (WebCore::Node::isMathMLElement): Added.
868         * mathml/MathMLElement.cpp:
869         (WebCore::MathMLElement::create): Create as MathML Element.
870         (WebCore::MathMLElement::childShouldCreateRenderer):
871         Only allow the child to emit a renderer if it is a
872         MathML element.
873         * mathml/MathMLElement.h:
874
875 2013-10-29  Andreas Kling  <akling@apple.com>
876
877         SVG: applyStrokeStyleToContext should take a RenderElement&.
878         <https://webkit.org/b/123447>
879
880         ..and a RenderStyle& too, for that matter.
881
882         Reviewed by Anders Carlsson.
883
884         * rendering/svg/SVGRenderSupport.h:
885         * rendering/svg/SVGRenderSupport.cpp:
886         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
887
888             Have this take a RenderElement& and RenderStyle& instead of
889             raw pointers. Tweaked a silly-looking loop.
890
891         * rendering/svg/RenderSVGShape.h:
892         * rendering/svg/RenderSVGShape.cpp:
893
894             Moved BoundingRectStrokeStyleApplier helper class into the
895             cpp file since it wasn't being used anywhere else.
896
897         * rendering/svg/RenderSVGResourceGradient.cpp:
898         (WebCore::RenderSVGResourceGradient::applyResource):
899         * rendering/svg/RenderSVGResourcePattern.cpp:
900         (WebCore::RenderSVGResourcePattern::applyResource):
901         * rendering/svg/RenderSVGResourceSolidColor.cpp:
902         (WebCore::RenderSVGResourceSolidColor::applyResource):
903
904             Remove ampersands.
905
906 2013-10-29  Antti Koivisto  <antti@apple.com>
907
908         Multiple runs per line on simple line path
909         https://bugs.webkit.org/show_bug.cgi?id=123446
910
911         Reviewed by Andreas Kling.
912
913         By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
914
915         * rendering/SimpleLineLayout.cpp:
916         (WebCore::SimpleLineLayout::canUseFor):
917         
918             Remove space test.
919             The improved test coverage found a few more cases that we need to disallow.
920
921         (WebCore::SimpleLineLayout::adjustRunOffsets):
922             
923             Round the run positions and widths so they match line boxes.
924             Adjust for text-align.
925
926         (WebCore::SimpleLineLayout::create):
927         
928             Split lines with consecutive spaces into runs.
929
930         * rendering/SimpleLineLayout.h:
931         (WebCore::SimpleLineLayout::Run::Run):
932         * rendering/SimpleLineLayoutFunctions.cpp:
933         (WebCore::SimpleLineLayout::hitTestFlow):
934         (WebCore::SimpleLineLayout::collectFlowOverflow):
935         (WebCore::SimpleLineLayout::computeTextBoundingBox):
936         * rendering/SimpleLineLayoutResolver.h:
937         (WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
938         (WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
939         (WebCore::SimpleLineLayout::RunResolver::Run::Run):
940         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
941         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
942         (WebCore::SimpleLineLayout::RunResolver::Run::text):
943         (WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
944         (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
945         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
946         
947             Removed unnecessary operators.
948
949         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
950         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
951         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
952         (WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
953         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
954         (WebCore::SimpleLineLayout::RunResolver::begin):
955         (WebCore::SimpleLineLayout::RunResolver::end):
956         
957             Resolver -> RunResolver
958
959         (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
960         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
961         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
962         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
963         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
964         (WebCore::SimpleLineLayout::LineResolver::LineResolver):
965         (WebCore::SimpleLineLayout::LineResolver::begin):
966         (WebCore::SimpleLineLayout::LineResolver::end):
967         
968             Add LineResolver around RunResolver. It resolves the line rectangles.
969
970         (WebCore::SimpleLineLayout::runResolver):
971         (WebCore::SimpleLineLayout::lineResolver):
972
973 2013-10-29  Chris Fleizach  <cfleizach@apple.com>
974
975         AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
976         https://bugs.webkit.org/show_bug.cgi?id=121335
977
978         Reviewed by Mario Sanchez Prada.
979
980         Re-order logic that determines if a <span> should appear as an accessible element. 
981         The change is that if an element canSetFocus() it should always be in the AX tree.
982
983         Test: accessibility/tabindex-elements-are-accessible.html
984
985         * accessibility/AccessibilityRenderObject.cpp:
986         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
987         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
988
989 2013-10-29  Philippe Normand  <pnormand@igalia.com>
990
991         [GTK] enable media-stream in build-webkit
992         https://bugs.webkit.org/show_bug.cgi?id=123144
993
994         Reviewed by Martin Robinson.
995
996         * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
997
998 2013-10-28  Chris Fleizach  <cfleizach@apple.com>
999
1000         AX: Webkit does not expose AXRequired on input type=file
1001         https://bugs.webkit.org/show_bug.cgi?id=123376
1002
1003         Reviewed by Mario Sanchez Prada.
1004
1005         File upload buttons should expose AXRequired, since they take an input state.
1006
1007         * accessibility/AccessibilityNodeObject.cpp:
1008         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
1009         (WebCore::AccessibilityNodeObject::alternativeText):
1010
1011 2013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
1012
1013         Re-enable simple line layout for EFL
1014         https://bugs.webkit.org/show_bug.cgi?id=123402
1015
1016         Reviewed by Antti Koivisto.
1017
1018         * rendering/SimpleLineLayout.cpp:
1019         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for EFL port, so the port
1020         can use the simple line layout.
1021
1022 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
1023
1024         Unreviewed, follow-up to r158185. Export the required symbol.
1025         This should fix the Mac debug build.
1026
1027         * WebCore.exp.in:
1028
1029 2013-10-29  Santosh Mahto  <santosh.ma@samsung.com>
1030
1031         Text selected with double-click gets unselected after DOM modification
1032         https://bugs.webkit.org/show_bug.cgi?id=114227
1033
1034         Reviewed by Ryosuke Niwa.
1035
1036         Before this patch when selection is done by double-click (start and base remain
1037         same) and DOM is modified then selection gets vanished. This does not
1038         happen when selection is done by dragging mouse. This happens because
1039         on double-click base and extent remain the same and on DOM
1040         modification we update the selection with base and extent, so we loose
1041         the selection. Since in double-click case start/end contain the
1042         correct selection, same should be used after dom modification to
1043         update selection.
1044
1045         Test: editing/selection/double-click-selection-with-dom-mutation.html
1046
1047         * editing/FrameSelection.cpp:
1048         (WebCore::FrameSelection::textWasReplaced): use start/end to update
1049         selection in case double click selection. Added a check for base !=
1050         extent, if base != extent use base/extent to update the selection
1051         otherwise use start/end with directionality check.
1052
1053 2013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>
1054
1055         [CSSRegions] Display anonymous regions in DRT
1056         https://bugs.webkit.org/show_bug.cgi?id=122963
1057
1058         Reviewed by Alexandru Chiculita.
1059
1060         After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
1061         RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
1062         This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
1063         in test dumps.
1064
1065         Before:
1066             RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1067         After:
1068             RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1069                 RenderNamedFlowFragment at (1,1) size 50x50
1070
1071         Before:
1072             Flow Threads
1073                 Thread with flow-name 'article'
1074                 Regions for flow 'article'
1075                     RenderRegion {DIV} #region_1
1076                     RenderRegion {DIV} #region_2
1077         After:
1078             Named flows
1079                 Named flow 'article'
1080                 Regions for named flow 'article'
1081                     RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
1082                     RenderNamedFlowFragment (anonymous child of {DIV} #region_2)
1083
1084         Changed existing tests based on the new dumps.
1085
1086         * rendering/RenderBlock.cpp:
1087         (WebCore::RenderBlock::renderName):
1088         * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
1089         * rendering/RenderRegion.h:
1090         * rendering/RenderTreeAsText.cpp:
1091         (WebCore::write):
1092         (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
1093         (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.
1094
1095 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
1096
1097         Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
1098         https://bugs.webkit.org/show_bug.cgi?id=116012
1099
1100         Reviewed by Simon Fraser.
1101
1102         The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
1103         of various types are not specific to the render tree nor do they depend on any rendering-specific interface.
1104
1105         * page/scrolling/ScrollingStateNode.cpp:
1106         * page/scrolling/ScrollingStateNode.h:
1107         (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
1108         * platform/graphics/GraphicsLayer.cpp:
1109         * platform/graphics/GraphicsLayer.h:
1110         (GraphicsLayer): Ditto.
1111         * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
1112         the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
1113         * platform/graphics/filters/FEBlend.cpp: Ditto.
1114         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
1115         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
1116         * platform/graphics/filters/FEComposite.cpp: Ditto.
1117         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
1118         * platform/graphics/filters/FECustomFilter.cpp: Ditto.
1119         * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
1120         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
1121         * platform/graphics/filters/FEDropShadow.cpp: Ditto.
1122         * platform/graphics/filters/FEFlood.cpp: Ditto.
1123         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
1124         * platform/graphics/filters/FEMerge.cpp: Ditto.
1125         * platform/graphics/filters/FEMorphology.cpp: Ditto.
1126         * platform/graphics/filters/FEOffset.cpp: Ditto.
1127         * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
1128         * platform/graphics/filters/FETurbulence.cpp: Ditto.
1129         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
1130         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
1131         * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
1132         (WebCore::operator<<):
1133         (WebCore):
1134         (WebCore::writeIndent):
1135         * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
1136         (WebCore):
1137         (TextStream):
1138         (WebCore::TextStream::operator<<):
1139         * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
1140         (WebCore):
1141         * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
1142         (WebCore):
1143
1144 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
1145
1146         Clean up ScopedEventQueue
1147         https://bugs.webkit.org/show_bug.cgi?id=123408
1148
1149         Reviewed by Darin Adler.
1150
1151         Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
1152         NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.
1153
1154         The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
1155         methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
1156         ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.
1157
1158         ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
1159         ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.
1160
1161         * dom/EventDispatcher.cpp:
1162         (WebCore::EventDispatcher::dispatchScopedEvent):
1163         * dom/ScopedEventQueue.cpp:
1164         (WebCore::ScopedEventQueue::instance):
1165         (WebCore::ScopedEventQueue::dispatchAllEvents):
1166         * dom/ScopedEventQueue.h:
1167         (WebCore::EventQueueScope::EventQueueScope):
1168         (WebCore::EventQueueScope::~EventQueueScope):
1169
1170 2013-10-28  Andreas Kling  <akling@apple.com>
1171
1172         applyTextTransform() should take a const RenderStyle&.
1173         <https://webkit.org/b/123434>
1174
1175         This function is always called with an existing RenderStyle object.
1176
1177         Reviewed by Anders Carlsson.
1178
1179 2013-10-28  Andreas Kling  <akling@apple.com>
1180
1181         RenderSVGResource::applyResource() should take a const RenderStyle&.
1182         <https://webkit.org/b/123433>
1183
1184         These functions are always called with an existing RenderStyle object
1185         so let them take a const reference instead of a raw pointer.
1186         Also sprinkled some missing OVERRIDEs.
1187
1188         Reviewed by Anders Carlsson.
1189
1190 2013-10-28  Andreas Kling  <akling@apple.com>
1191
1192         Remove unused RenderTextControl::textBaseStyle().
1193         <https://webkit.org/b/123432>
1194
1195         Reviewed by Anders Carlsson.
1196
1197 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
1198
1199         HTML input type objects should be managed through std::unique_ptr
1200         https://bugs.webkit.org/show_bug.cgi?id=123160
1201
1202         Reviewed by Darin Adler.
1203
1204         Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
1205         and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.
1206
1207         InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
1208         gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
1209         if they're disabled at runtime.
1210
1211         The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.
1212
1213         * html/ButtonInputType.cpp:
1214         * html/ButtonInputType.h:
1215         (WebCore::ButtonInputType::ButtonInputType):
1216         * html/CheckboxInputType.cpp:
1217         * html/CheckboxInputType.h:
1218         (WebCore::CheckboxInputType::CheckboxInputType):
1219         * html/ColorInputType.cpp:
1220         * html/ColorInputType.h:
1221         (WebCore::ColorInputType::ColorInputType):
1222         * html/DateInputType.cpp:
1223         * html/DateInputType.h:
1224         * html/DateTimeInputType.cpp:
1225         * html/DateTimeInputType.h:
1226         (WebCore::DateTimeInputType::DateTimeInputType):
1227         * html/DateTimeLocalInputType.cpp:
1228         * html/DateTimeLocalInputType.h:
1229         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
1230         * html/EmailInputType.cpp:
1231         * html/EmailInputType.h:
1232         (WebCore::EmailInputType::EmailInputType):
1233         * html/FileInputType.cpp:
1234         * html/FileInputType.h:
1235         * html/HTMLInputElement.cpp:
1236         (WebCore::HTMLInputElement::updateType):
1237         * html/HTMLInputElement.h:
1238         * html/HiddenInputType.cpp:
1239         * html/HiddenInputType.h:
1240         (WebCore::HiddenInputType::HiddenInputType):
1241         * html/ImageInputType.cpp:
1242         (WebCore::ImageInputType::ImageInputType):
1243         * html/ImageInputType.h:
1244         * html/InputType.cpp:
1245         (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
1246         (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
1247         (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
1248         (WebCore::InputType::createText):
1249         * html/InputType.h:
1250         * html/MonthInputType.cpp:
1251         * html/MonthInputType.h:
1252         (WebCore::MonthInputType::MonthInputType):
1253         * html/NumberInputType.cpp:
1254         * html/NumberInputType.h:
1255         (WebCore::NumberInputType::NumberInputType):
1256         * html/PasswordInputType.cpp:
1257         * html/PasswordInputType.h:
1258         (WebCore::PasswordInputType::PasswordInputType):
1259         * html/RadioInputType.cpp:
1260         * html/RadioInputType.h:
1261         (WebCore::RadioInputType::RadioInputType):
1262         * html/RangeInputType.cpp:
1263         * html/RangeInputType.h:
1264         * html/ResetInputType.cpp:
1265         * html/ResetInputType.h:
1266         (WebCore::ResetInputType::ResetInputType):
1267         * html/SearchInputType.cpp:
1268         (WebCore::SearchInputType::SearchInputType):
1269         * html/SearchInputType.h:
1270         * html/SubmitInputType.cpp:
1271         * html/SubmitInputType.h:
1272         (WebCore::SubmitInputType::SubmitInputType):
1273         * html/TelephoneInputType.cpp:
1274         * html/TelephoneInputType.h:
1275         (WebCore::TelephoneInputType::TelephoneInputType):
1276         * html/TextInputType.cpp:
1277         * html/TextInputType.h:
1278         (WebCore::TextInputType::TextInputType):
1279         * html/TimeInputType.cpp:
1280         * html/TimeInputType.h:
1281         * html/URLInputType.cpp:
1282         * html/URLInputType.h:
1283         (WebCore::URLInputType::URLInputType):
1284         * html/WeekInputType.cpp:
1285         * html/WeekInputType.h:
1286         (WebCore::WeekInputType::WeekInputType):
1287
1288 2013-10-28  Brady Eidson  <beidson@apple.com>
1289
1290         Refactor IDB factory creation.
1291         https://bugs.webkit.org/show_bug.cgi?id=123347
1292
1293         Reviewed by Andreas Kling.
1294
1295         - Rework how database directory location is passed around.
1296         - Make (some) SecurityOrigin arguments be references instead of pointers.
1297         - Add two SecurityOrigin arguments to opening databases for future use.
1298
1299         * Modules/indexeddb/IDBFactory.cpp:
1300         (WebCore::IDBFactory::openInternal):
1301
1302         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
1303         (WebCore::IDBFactoryBackendInterface::create):
1304         * Modules/indexeddb/IDBFactoryBackendInterface.h:
1305
1306         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
1307         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
1308         (WebCore::PageGroupIndexedDatabase::from):
1309         (WebCore::PageGroupIndexedDatabase::factoryBackend):
1310         * Modules/indexeddb/PageGroupIndexedDatabase.h:
1311
1312         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
1313         (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
1314         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
1315         (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
1316         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
1317
1318         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1319         (WebCore::IDBBackingStoreLevelDB::open):
1320         (WebCore::IDBBackingStoreLevelDB::openInMemory):
1321         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1322
1323         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1324         (WebCore::computeFileIdentifier):
1325         (WebCore::computeUniqueIdentifier):
1326         (WebCore::IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB):
1327         (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
1328         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
1329         (WebCore::IDBFactoryBackendLevelDB::openBackingStore):
1330         (WebCore::IDBFactoryBackendLevelDB::open):
1331         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
1332         (WebCore::IDBFactoryBackendLevelDB::create):
1333
1334         * WebCore.exp.in:
1335
1336         * platform/DatabaseStrategy.cpp:
1337         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
1338         * platform/DatabaseStrategy.h:
1339
1340 2013-10-28  Andreas Kling  <akling@apple.com>
1341
1342         RenderElement::style() should return a reference.
1343         <https://webkit.org/b/123414>
1344
1345         Now that renderers always have style, go ahead and make style()
1346         return a RenderStyle&.
1347
1348         There are countless opportunities for further cleanup enabled by
1349         this change. I'm simply passing &style() in many cases where we
1350         can really do something nicer instead.
1351
1352         Reviewed by Anders Carlsson.
1353
1354 2013-10-28  Tim Horton  <timothy_horton@apple.com>
1355
1356         Make TileController create the appropriate PlatformCALayer subclasses
1357         https://bugs.webkit.org/show_bug.cgi?id=123418
1358
1359         Reviewed by Simon Fraser.
1360
1361         Add PlatformCALayer::createCompatibleLayer, which is overridden in
1362         each of the subclasses to create a PlatformCALayer instance of the same
1363         subclass. This is used in TileController to make bare PlatformCALayers
1364         of the correct type (Mac, Win, or Remote).
1365
1366         * platform/graphics/ca/PlatformCALayer.h:
1367         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1368         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1369         (PlatformCALayerMac::createCompatibleLayer):
1370         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1371         (PlatformCALayerWin::createCompatibleLayer):
1372         * platform/graphics/ca/win/PlatformCALayerWin.h:
1373         Add createCompatibleLayer and implement it in the subclasses.
1374
1375         * platform/graphics/ca/mac/TileController.mm:
1376         (WebCore::TileController::TileController):
1377         (WebCore::TileController::tiledScrollingIndicatorLayer):
1378         (WebCore::TileController::createTileLayer):
1379         Make use of createCompatibleLayer when creating PlatformCALayers.
1380
1381 2013-10-28  Alexandru Chiculita  <achicu@adobe.com>
1382
1383         Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
1384         https://bugs.webkit.org/show_bug.cgi?id=123424
1385
1386         Reviewed by Timothy Hatcher.
1387
1388         Test: inspector-protocol/model/content-flow-content-nodes.html
1389
1390         Adding two new inspector-protocol APIs to handle the cases when new elements are
1391         added or removed from a named flow. These APIs will trigger even though there
1392         is no region associated with the named flow.
1393
1394         * inspector/Inspector.json:
1395         * inspector/InspectorCSSAgent.cpp:
1396         (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
1397         (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
1398         * inspector/InspectorCSSAgent.h:
1399         * inspector/InspectorInstrumentation.cpp:
1400         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
1401         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
1402         * inspector/InspectorInstrumentation.h:
1403         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
1404         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
1405         * rendering/RenderNamedFlowThread.cpp:
1406         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
1407         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
1408
1409 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
1410
1411         Web Inspector: Remove unused inspector/inline-javascript-imports.py
1412         https://bugs.webkit.org/show_bug.cgi?id=123425
1413
1414         Reviewed by Timothy Hatcher.
1415
1416         * inspector/inline-javascript-imports.py: Removed.
1417
1418 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
1419
1420         Web Inspector: Remove unused "externs" files and generators
1421         https://bugs.webkit.org/show_bug.cgi?id=123427
1422
1423         Reviewed by Timothy Hatcher.
1424
1425         * inspector/InjectedScriptExterns.js: Removed.
1426         * inspector/generate_protocol_externs.py: Removed.
1427
1428 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
1429
1430         Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
1431         https://bugs.webkit.org/show_bug.cgi?id=123411
1432
1433         Reviewed by Timothy Hatcher.
1434
1435         Include an InspectorClient hook for when node searching is enabled / disabled.
1436
1437         * inspector/InspectorClient.h:
1438         (WebCore::InspectorClient::didSetSearchingForNode):
1439         * inspector/InspectorDOMAgent.cpp:
1440         (WebCore::InspectorDOMAgent::setSearchingForNode):
1441         * inspector/InspectorOverlay.cpp:
1442         (WebCore::InspectorOverlay::didSetSearchingForNode):
1443         * inspector/InspectorOverlay.h:
1444
1445 2013-10-28  Benjamin Poulain  <benjamin@webkit.org>
1446
1447         Rename applyPageScaleFactorInCompositor to delegatesPageScaling
1448         https://bugs.webkit.org/show_bug.cgi?id=123417
1449
1450         Reviewed by Simon Fraser.
1451
1452         * page/Frame.cpp:
1453         (WebCore::Frame::frameScaleFactor):
1454         * page/FrameView.cpp:
1455         (WebCore::FrameView::visibleContentScaleFactor):
1456         * page/Page.cpp:
1457         (WebCore::Page::setPageScaleFactor):
1458         * page/Settings.in:
1459         * platform/ScrollView.h:
1460         * rendering/RenderLayerCompositor.cpp:
1461         (WebCore::RenderLayerCompositor::addToOverlapMap):
1462
1463 2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
1464
1465         Parsing support for -webkit-text-decoration-skip: ink
1466         https://bugs.webkit.org/show_bug.cgi?id=123358
1467
1468         Reviewed by Dean Jackson.
1469
1470         Adds initial parsing support for parsing -webkit-text-decoration-skip with
1471         values of "none" and "ink". This work is behind the new
1472         ENABLE(CSS3_TEXT_DECORATION) compile-time flag.
1473
1474         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
1475
1476         * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
1477         * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
1478         to a CSSValue
1479         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
1480         (WebCore::ComputedStyleExtractor::propertyValue):
1481         * css/CSSParser.cpp: Actually parsing tokens
1482         (WebCore::CSSParser::parseValue):
1483         (WebCore::CSSParser::parseTextDecorationSkip):
1484         * css/CSSParser.h:
1485         * css/CSSPropertyNames.in: adding -webkit-text-decoration-skip
1486         * css/CSSValueKeywords.in: adding ink
1487         * css/DeprecatedStyleBuilder.cpp: Mapping from CSSValue to internal representation
1488         (WebCore::ApplyPropertyTextDecorationSkip::valueToDecorationSkip):
1489         (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
1490         (WebCore::ApplyPropertyTextDecorationSkip::createHandler):
1491         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1492         * css/StyleResolver.cpp: decoration-skip uses DeprecatedStyleBuilder
1493         (WebCore::StyleResolver::applyProperty):
1494         * rendering/style/RenderStyle.h: Adding functions for modifying and accessing decoration-skip properties
1495         * rendering/style/RenderStyleConstants.h: Definition of internal representation
1496         * rendering/style/StyleRareInheritedData.cpp: Setting up constructors and comparators
1497         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1498         (WebCore::StyleRareInheritedData::operator==):
1499         * rendering/style/StyleRareInheritedData.h: Holds actual value of internal representation
1500
1501 2013-10-28  Anders Carlsson  <andersca@apple.com>
1502
1503         RunLoop::dispatch should take an std::function
1504         https://bugs.webkit.org/show_bug.cgi?id=123407
1505
1506         Reviewed by Andreas Kling.
1507
1508         * WebCore.exp.in:
1509         * platform/RunLoop.cpp:
1510         (WebCore::RunLoop::performWork):
1511         (WebCore::RunLoop::dispatch):
1512         * platform/RunLoop.h:
1513
1514 2013-10-28  Tim Horton  <timothy_horton@apple.com>
1515
1516         Make TileController manipulate PlatformCALayers instead of CALayers
1517         https://bugs.webkit.org/show_bug.cgi?id=123279
1518
1519         Reviewed by Simon Fraser.
1520
1521         In the interest of making TileController more platform-independent
1522         (so that it can be used with the remote layer tree, and maybe Windows),
1523         move TileController onto our PlatformCALayer abstraction instead of
1524         direct manipulation of CALayers.
1525
1526         Some fallout from this includes getting rid of special Mac-specific
1527         TileController-specific CALayer subclasses, and reworking tile
1528         painting to work in a more generic way.
1529
1530         This is a first step, and doesn't get us all the way to a platform independent
1531         TileController, but more patches are forthcoming.
1532
1533         No new tests, just a (largeish) refactor.
1534
1535         * WebCore.exp.in:
1536         The signature of some methods has changed.
1537
1538         * WebCore.xcodeproj/project.pbxproj:
1539         Remove WebTileLayer.*
1540
1541         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1542         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
1543         Use the "isTile" key on the CALayer dictionary instead of the layer's
1544         class to determine if it's a tile. TileController will set this on a tile
1545         when it is created, for now.
1546
1547         * platform/graphics/TiledBacking.h:
1548         tiledScrollingIndicatorLayer() should return a PlatformCALayer.
1549
1550         * platform/graphics/ca/GraphicsLayerCA.cpp:
1551         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
1552         * platform/graphics/ca/GraphicsLayerCA.h:
1553         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
1554         * platform/graphics/ca/PlatformCALayerClient.h:
1555         The PlatformCALayerClient paintContents and incrementRepaintCount callbacks
1556         should include the platformCALayer that caused the callback.
1557
1558         * platform/graphics/ca/PlatformCALayer.h:
1559         Add LayerTypeSimpleLayer, which is similar to LayerTypeWebLayer
1560         except it just calls back its client to paint, instead of doing
1561         complicated things with repaint rects. This is so that TileController
1562         doesn't re-enter drawLayerContents when asking its GraphicsLayer
1563         to paint for each PlatformCALayer (it will be entering drawLayerContents
1564         for the first time for each layer). It also happens to be useful
1565         for things like the tile controller overlay, which don't need
1566         all that complication.
1567
1568         Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
1569         TileController Tile layers from other LayerTypeSimpleLayers.
1570
1571         * platform/graphics/ca/mac/LayerPool.h:
1572         * platform/graphics/ca/mac/LayerPool.mm:
1573         (WebCore::LayerPool::addLayer):
1574         (WebCore::LayerPool::takeLayerWithSize):
1575         LayerPool should operate on PlatformCALayers now.
1576
1577         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1578         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1579         (PlatformCALayerMac::PlatformCALayerMac):
1580         Set the "isTile" key on the CALayer to true for TiledBackingTileLayers,
1581         so that the scrolling performance logging can tell a tile apart from
1582         any other layer, on the scrolling thread, without touching PlatformCALayers
1583         or the TileController or any other main-thread data structures.
1584
1585         (PlatformCALayerMac::setEdgeAntialiasingMask): Added.
1586         * platform/graphics/ca/mac/TileController.h:
1587         Remove references to Objective-C classes; instead use PlatformCALayer everywhere.
1588         TileController is now a PlatformCALayerClient, and the layers it owns are
1589         all PlatformCALayers (and it is constructed with a PlatformCALayer, etc.).
1590         Hand in the tile debug border color as a WebCore color, instead of a CGColorRef.
1591         blankPixelCountForTiles() now operates on a list of PlatformLayers instead of
1592         WebTileLayers specifically, since WebTileLayer is gone.
1593         Make drawTileMapContents private because WebTileCacheMapLayer no longer exists.
1594
1595         (WebCore::TileController::platformCALayerDrawsContent):
1596         All of the layers who have TileController as their client paint their contents.
1597
1598         (WebCore::TileController::platformCALayerContentsOpaque):
1599         This will only be called for layers which paint via drawLayerContents,
1600         so it's OK that we don't special-case the debugging overlay here.
1601
1602         (WebCore::TileController::owningGraphicsLayer):
1603         Return the GraphicsLayer that owns the TileController's main
1604         layer, via its conformance to PlatformCALayerClient. This is
1605         a bit strange (because it's not strictly a GraphicsLayer, despite
1606         always being so at the moment), but is done for clarity inside
1607         TileController itself.
1608
1609         * platform/graphics/ca/mac/TileController.mm:
1610         Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
1611         and a bunch of includes that we don't need anymore.
1612
1613         (WebCore::TileController::create):
1614         (WebCore::TileController::TileController):
1615         TileController is passed a PlatformCALayer for the tile cache root layer,
1616         instead of a WebTiledBackingLayer. It also creates a PlatformCALayer with
1617         LayerTypeLayer instead of a bare CALayer for the container layer.
1618         It's OK to remove the transaction because it was only used to stop
1619         the implicit animation, which PlatformCALayer will do for us.
1620
1621         (WebCore::TileController::~TileController):
1622         Clear the owner of the PlatformCALayers which the TileController previously owned,
1623         so they don't try to call back a destroyed TileController.
1624
1625         (WebCore::TileController::tileCacheLayerBoundsChanged):
1626         (WebCore::TileController::setNeedsDisplay):
1627         Straightforward adjustments towards use of PlatformCALayer.
1628
1629         (WebCore::TileController::setTileNeedsDisplayInRect):
1630         Adjustments towards use of PlatformCALayer; we need FloatRects so we can
1631         pass pointers to PlatformCALayer::setNeedsDisplay.
1632
1633         (WebCore::TileController::platformCALayerPaintContents):
1634         Replace drawLayer with platformCALayerPaintContents, which will be called
1635         back from our various WebSimpleLayers. If the PlatformCALayer is our
1636         tiled scrolling debug indicator, paint that. Otherwise, it's a tile.
1637         Make use of drawLayerContents() to paint the tile contents.
1638         Make use of drawRepaintIndicator() to paint the repaint indicator if needed.
1639         Move scrolling performance logging code that used to be in WebTileLayer here.
1640
1641         (WebCore::TileController::platformCALayerDeviceScaleFactor):
1642         (WebCore::TileController::platformCALayerShowDebugBorders):
1643         (WebCore::TileController::platformCALayerShowRepaintCounter):
1644         Forward these to the owning GraphicsLayerCA, because it will have the right answers.
1645
1646         (WebCore::TileController::setScale):
1647         Adjustments towards use of PlatformCALayer; remove some code that Simon
1648         caused to be unused in 156291 but did not remove.
1649
1650         (WebCore::TileController::setAcceleratesDrawing):
1651         (WebCore::TileController::setTilesOpaque):
1652         (WebCore::TileController::setVisibleRect):
1653         (WebCore::TileController::revalidateTiles):
1654         (WebCore::TileController::setTileDebugBorderWidth):
1655         (WebCore::TileController::setTileDebugBorderColor):
1656         (WebCore::TileController::bounds):
1657         (WebCore::TileController::blankPixelCount):
1658         (WebCore::TileController::blankPixelCountForTiles):
1659         (WebCore::queueTileForRemoval):
1660         (WebCore::TileController::setNeedsRevalidateTiles):
1661         (WebCore::TileController::ensureTilesForRect):
1662         (WebCore::TileController::retainedTileBackingStoreMemory):
1663         Straightforward adjustments towards use of PlatformCALayer.
1664
1665         (WebCore::TileController::updateTileCoverageMap):
1666         Adjustments towards use of PlatformCALayer; rename backgroundColor
1667         to visibleRectIndicatorColor, since it's actually a border, not a background.
1668
1669         (WebCore::TileController::tiledScrollingIndicatorLayer):
1670         Create a LayerTypeSimpleLayer PlatformCALayer for the tiled scrolling indicator.
1671         It will be asked to paint straightforwardly, like a CALayer would.
1672         Create a LayerTypeLayer PlatformCALayer for the visible rect indicator.
1673         It doesn't need to paint anything, so it doesn't get an owner.
1674
1675         (WebCore::TileController::createTileLayer):
1676         When creating a new tile layer, adopt it by setting its owner.
1677         Otherwise, straightforward adjustments towards use of PlatformCALayer.
1678
1679         (WebCore::TileController::platformCALayerIncrementRepaintCount):
1680         Manage repaint counts for tiles in TileController now.
1681
1682         (WebCore::TileController::drawTileMapContents):
1683         Adjustments towards use of PlatformCALayer.
1684
1685         * platform/graphics/ca/mac/WebTileLayer.h: Removed.
1686         * platform/graphics/ca/mac/WebTileLayer.mm: Removed.
1687         We don't need WebTileLayer anymore, tiles are now just WebSimpleLayers
1688         owned by TileController. Its behavior has been moved into TileController.
1689
1690         * platform/graphics/ca/mac/WebTiledBackingLayer.h:
1691         * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
1692         (-[WebTiledBackingLayer createTileController:]):
1693         Add createTileController: so that the WebTiledBackingLayer's owner can
1694         hand the TileController the PlatformCALayer for the WebTiledBackingLayer
1695         without propagating additional usage of PlatformCALayer::platformCALayer(),
1696         which we need to remove in light of the remote layer tree work.
1697
1698         (-[WebTiledBackingLayer setBorderColor:]):
1699
1700         * platform/graphics/ca/win/PlatformCALayerWin.h:
1701         Add an empty implementation of setEdgeAntialiasingMask.
1702         We'll probably want to implement it before adopting TileController on Windows.
1703
1704         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1705         (PlatformCALayerWinInternal::displayCallback):
1706         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1707         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
1708         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
1709         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1710         (WebCore::LayerClient::platformCALayerPaintContents):
1711         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
1712         Adjust for new parameters on PlatformCALayerClient callbacks.
1713
1714         * platform/graphics/mac/WebLayer.h:
1715         Add WebSimpleLayer, which inherits directly from CALayer, and make
1716         our standard WebLayer (which is used for compositing layers in web content)
1717         inherit from that.
1718
1719         * platform/graphics/mac/WebLayer.mm:
1720         Move most of the behavior of WebLayer onto WebSimpleLayer, except for its
1721         complex painting code. That stays as an override on WebLayer.
1722
1723         (WebCore::drawLayerContents):
1724         Use the PlatformCALayer's PlatformLayer - if it exists - to extract
1725         fine-grained repaint rects. If it doesn't, we'll just use the CGContext's
1726         clip rect as our single repaint rect.
1727         Rename platformLayer to platformCALayer for accuracy.
1728         Remove special code for CATiledLayer since we ought not use it on Mac anymore.
1729
1730         (WebCore::drawRepaintIndicator):
1731         Factor repaint indicator code out into its own function so that TileController
1732         can use it. It can't be called from drawLayerContents for TileController, since
1733         the PlatformCALayer that TileController passes in to drawLayerContents is actually
1734         that of the tile cache's root layer, not the tile itself.
1735         Also, add a custom background color parameter so TileController can override
1736         the default green color with its own standard purple.
1737
1738         (-[WebLayer drawInContext:]):
1739         (-[WebSimpleLayer drawInContext:]):
1740         * platform/graphics/mac/WebTiledLayer.mm:
1741         (-[WebTiledLayer drawInContext:]):
1742         Removed a param from drawLayerContents because it's trivially acquirable
1743         from the PlatformCALayer.
1744
1745 2013-10-24  Sam Weinig  <sam@webkit.org>
1746
1747         Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
1748         https://bugs.webkit.org/show_bug.cgi?id=123318
1749
1750         Reviewed by David Hyatt.
1751
1752         * rendering/LineLayoutState.h:
1753         Move FloatWithRect from RenderBlock.
1754
1755         * rendering/RenderBlock.cpp:
1756         * rendering/RenderBlock.h:
1757         * rendering/RenderBlockFlow.cpp:
1758         * rendering/RenderBlockFlow.h:
1759         * rendering/RenderBlockLineLayout.cpp:
1760         Move pagination and float functions.
1761
1762 2013-10-28  Sergio Villar Senin  <svillar@igalia.com>
1763
1764         [CSS Grid Layout] Add support for order inside grid items
1765         https://bugs.webkit.org/show_bug.cgi?id=123208
1766
1767         Reviewed by Antti Koivisto.
1768
1769         Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>
1770
1771         Added support for sorting grid items by using -webkit-order
1772         property. Used OrderIterator to implement it so it had to be moved
1773         out of RenderFlexibleBox to be shared with RenderGrid.
1774
1775         Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
1776                fast/css-grid-layout/grid-item-order-paint-order.html
1777
1778         * CMakeLists.txt: Added new file.
1779         * GNUmakefile.list.am: Ditto.
1780         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1781         * WebCore.xcodeproj/project.pbxproj: Ditto.
1782         * rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
1783         (WebCore::OrderIterator::OrderIterator):
1784         (WebCore::OrderIterator::setOrderValues): Use std::move semantics.
1785         (WebCore::OrderIterator::first): Use an integer as iterator.
1786         (WebCore::OrderIterator::next): Ditto.
1787         (WebCore::OrderIterator::reset): Ditto.
1788         * rendering/OrderIterator.h: Added.
1789         (WebCore::OrderIterator::currentChild):
1790         * rendering/RenderFlexibleBox.cpp:
1791         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
1792         (WebCore::RenderFlexibleBox::layoutBlock):
1793         * rendering/RenderFlexibleBox.h:
1794         * rendering/RenderGrid.cpp:
1795         (WebCore::RenderGrid::RenderGrid):
1796         (WebCore::RenderGrid::placeItemsOnGrid):
1797         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
1798         (WebCore::RenderGrid::paintChildren):
1799         * rendering/RenderGrid.h:
1800
1801 2013-10-28  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
1802
1803         Methods on window.internals shouldn't pass a document.
1804         https://bugs.webkit.org/show_bug.cgi?id=107301
1805
1806         Reviewed by Alexey Proskuryakov.
1807
1808         Each 'Internals' instance is associated with a 'Document'. So, it
1809         is not necessary to pass a document as argument. Only nodesFromRect and
1810         layerTreeAsText methods were kept because, in some Layout Tests, the
1811         'Document' object is not the same used by Internals::contextDocument.
1812
1813         * testing/Internals.cpp: Removed 'document' parameter.
1814         (WebCore::Internals::animationsAreSuspended):
1815         (WebCore::Internals::suspendAnimations):
1816         (WebCore::Internals::resumeAnimations):
1817         (WebCore::Internals::inspectorHighlightRects):
1818         (WebCore::Internals::inspectorHighlightObject):
1819         (WebCore::Internals::setScrollViewPosition):
1820         (WebCore::Internals::setPagination):
1821         (WebCore::Internals::configurationForViewport):
1822         (WebCore::Internals::paintControlTints):
1823         (WebCore::Internals::setDelegatesScrolling):
1824         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
1825         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
1826         (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
1827         (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
1828         (WebCore::Internals::bestZoomableAreaForTouchPoint):
1829         (WebCore::Internals::lastSpellCheckRequestSequence):
1830         (WebCore::Internals::lastSpellCheckProcessedSequence):
1831         (WebCore::Internals::wheelEventHandlerCount):
1832         (WebCore::Internals::touchEventHandlerCount):
1833         (WebCore::Internals::setBatteryStatus):
1834         (WebCore::Internals::setNetworkInformation):
1835         (WebCore::Internals::setDeviceProximity):
1836         (WebCore::Internals::hasSpellingMarker):
1837         (WebCore::Internals::hasAutocorrectedMarker):
1838         (WebCore::Internals::isOverwriteModeEnabled):
1839         (WebCore::Internals::toggleOverwriteModeEnabled):
1840         (WebCore::Internals::consoleMessageArgumentCounts):
1841         (WebCore::Internals::hasGrammarMarker):
1842         (WebCore::Internals::numberOfScrollableAreas):
1843         (WebCore::Internals::isPageBoxVisible):
1844         (WebCore::Internals::repaintRectsAsText):
1845         (WebCore::Internals::scrollingStateTreeAsText):
1846         (WebCore::Internals::mainThreadScrollingReasons):
1847         (WebCore::Internals::nonFastScrollableRects):
1848         (WebCore::Internals::garbageCollectDocumentResources):
1849         (WebCore::Internals::insertAuthorCSS):
1850         (WebCore::Internals::insertUserCSS):
1851         (WebCore::Internals::shortcutIconURLs):
1852         (WebCore::Internals::allIconURLs):
1853         (WebCore::Internals::setHeaderHeight):
1854         (WebCore::Internals::setFooterHeight):
1855         (WebCore::Internals::webkitWillEnterFullScreenForElement):
1856         (WebCore::Internals::webkitDidEnterFullScreenForElement):
1857         (WebCore::Internals::webkitWillExitFullScreenForElement):
1858         (WebCore::Internals::webkitDidExitFullScreenForElement):
1859         (WebCore::Internals::startTrackingRepaints):
1860         (WebCore::Internals::stopTrackingRepaints):
1861         (WebCore::Internals::getCurrentCursorInfo):
1862         * testing/Internals.h:
1863         (WebCore::Internals::setPagination):
1864         * testing/Internals.idl:
1865
1866 2013-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1867
1868         Remove HTMLMediaElement.startTime
1869         https://bugs.webkit.org/show_bug.cgi?id=123264
1870
1871         Reviewed by Eric Carlson.
1872
1873         Patch based on one by: philipj@opera.com
1874         Blink review URL: https://codereview.chromium.org/32583003
1875
1876         startTime has been removed from the HTMLMediaElement and its use
1877         in the rest of components.
1878
1879         * Modules/mediacontrols/mediaControlsApple.js:
1880         (Controller.prototype.handleRewindButtonClicked):
1881         (Controller.prototype.handleTimelineMouseMove):
1882         (Controller.prototype.updateDuration):
1883         (Controller.prototype.updateTime): Removed used of startTime().
1884         * bindings/gobject/WebKitDOMCustom.cpp:
1885         (webkit_dom_html_media_element_get_start_time):
1886         * bindings/gobject/WebKitDOMCustom.h:
1887         * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
1888         * html/HTMLMediaElement.cpp:
1889         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1890         (WebCore::HTMLMediaElement::isBlockedOnMediaController): Removed
1891         use of startTime()
1892         * html/HTMLMediaElement.h:
1893         * html/HTMLMediaElement.idl: Removed startTime()
1894         * rendering/RenderThemeWinCE.cpp:
1895         (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
1896         startTime()
1897
1898 2013-10-28  Andreas Kling  <akling@apple.com>
1899
1900         RenderElement::m_style should be a Ref.
1901         <https://webkit.org/b/123401>
1902
1903         Made RenderElement::m_style a Ref. This codifies the fact that it
1904         can never be null after construction.
1905
1906         Removed a couple of unnecessary null checks that were exposed as
1907         compilation failures.
1908
1909         Reviewed by Antti Koivisto.
1910
1911 2013-10-28  Bastien Nocera <hadess@hadess.net>
1912
1913         Name all the GLib timeout sources
1914         https://bugs.webkit.org/show_bug.cgi?id=123229
1915
1916         Reviewed by Anders Carlsson.
1917
1918         Give a name to GLib timeout sources, this is helpful when
1919         profiling WebKitGTK applications.
1920
1921         No new tests, no change in functionality.
1922
1923 2013-10-28  Philippe Normand  <pnormand@igalia.com>
1924
1925         MediaStreamTrackPrivate's m_client uninitialized
1926         https://bugs.webkit.org/show_bug.cgi?id=123403
1927
1928         Reviewed by Eric Carlson.
1929
1930         No new tests, no change in functionality.
1931
1932         * platform/mediastream/MediaStreamTrackPrivate.cpp:
1933         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
1934         Initialize the m_client member variable.
1935
1936 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1937
1938         Unreviewed. Fix make distcheck.
1939
1940         * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
1941         css/fullscreenQuickTime.css that was removed.
1942
1943 2013-10-28  Antti Koivisto  <antti@apple.com>
1944
1945         Prepare simple line layout to support multiple runs per line
1946         https://bugs.webkit.org/show_bug.cgi?id=123400
1947
1948         Reviewed by Andreas Kling.
1949
1950         Bunch of renaming and some refactoring for future support for text runs.
1951
1952         SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
1953         SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
1954         SimpleLineLayout::createLines() -> SimpleLineLayout::create()
1955         RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
1956         RenderText::simpleLines() -> RenderText::simpleLineLayout()
1957         
1958         Added resolver construction functions:
1959         
1960         SimpleLineLayout::runResolver()
1961         SimpleLineLayout::lineResolver()
1962
1963 2013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>
1964
1965         [GTK] Expose title and alternative text for links in image maps
1966         https://bugs.webkit.org/show_bug.cgi?id=84045
1967
1968         Reviewed by Chris Fleizach.
1969
1970         Change the way we decide when the title attribute should be
1971         used for the accessible description, by not relying in the
1972         titleTagShouldBeUsedInDescriptionField() helper function but
1973         in whether we have found a visible text for it or not.
1974
1975         This actually mimics what the Mac port does and so makes possible
1976         to share both the layout test and its expected results.
1977
1978         * accessibility/atk/WebKitAccessibleUtil.cpp:
1979         (accessibilityDescription): Update the method to determine
1980         whether the title attribute should be used for the description.
1981
1982 2013-10-28  Bastien Nocera <hadess@hadess.net>
1983
1984         Replace 0 timeouts g_timeout_add() by g_idle_add()
1985         https://bugs.webkit.org/show_bug.cgi?id=123260
1986
1987         Reviewed by Carlos Garcia Campos.
1988
1989         A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
1990         without the nagging feeling that the wrong API was used.
1991
1992         No new tests, no change in functionality.
1993
1994         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
1995         of 0-timer.
1996         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1997         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1998         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
1999         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
2000         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
2001         * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
2002         (WebCore::GtkDragAndDropHelper::handleDragLeave):
2003
2004 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
2005
2006         Re-enable simple line layout for GTK
2007         https://bugs.webkit.org/show_bug.cgi?id=123388
2008
2009         Reviewed by Andreas Kling.
2010
2011         * rendering/SimpleLineLayout.cpp:
2012         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
2013         can use the simple line layout.
2014
2015 2013-10-27  Andreas Kling  <akling@apple.com>
2016
2017         Fix 4 asserting SVG tests after r158097.
2018
2019         RenderElement::setStyle() is, quite surprisingly, a virtual function
2020         with a single override in RenderSVGBlock.
2021         To match the old behavior, we have to rewrite the display type from
2022         any inline type to block instead.
2023
2024         * rendering/RenderElement.cpp:
2025         (WebCore::RenderElement::initializeStyle):
2026
2027 2013-10-27  Andreas Kling  <akling@apple.com>
2028
2029         Tone down overzealous assertion from r158097.
2030
2031         RenderElement::initializeStyle() really only cares that there are no
2032         text renderers that we should be calling styleDidChange() on.
2033
2034         Tweak the code to only check that there are no text children.
2035
2036         * rendering/RenderElement.cpp:
2037         (WebCore::RenderElement::initializeStyle):
2038
2039 2013-10-27  Antti Koivisto  <antti@apple.com>
2040
2041         Enable center and right text alignment for simple lines
2042         https://bugs.webkit.org/show_bug.cgi?id=123398
2043
2044         Reviewed by Andreas Kling.
2045
2046         Support text-align:center and text-align:right on simple line layout path.
2047
2048         * rendering/SimpleLineLayout.cpp:
2049         (WebCore::SimpleLineLayout::canUseFor):
2050         
2051             text-align:justify is still not supported.
2052
2053         (WebCore::SimpleLineLayout::computeLineLeft):
2054         (WebCore::SimpleLineLayout::createLines):
2055         
2056             Do a rounding dance that matches the line boxes.
2057
2058         * rendering/SimpleLineLayout.h:
2059         
2060             Add left position to lines.
2061
2062         * rendering/SimpleLineLayoutResolver.h:
2063         (WebCore::SimpleLineLayout::Resolver::Line::rect):
2064         
2065             We now do rounding during layout.
2066
2067         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
2068
2069 2013-10-27  Andreas Kling  <akling@apple.com>
2070
2071         Renderers should receive their style at construction.
2072         <https://webkit.org/b/123396>
2073
2074         Pass the RenderStyle to all non-text renderer constructors.
2075         After construction, initializeStyle() must be called (as a stopgap
2076         measure) until we are able to do style-derived initialization
2077         without virtual function calls.
2078
2079         With this change, RenderElement::m_style is never null. Subsequent
2080         patches will add enforcement for this and also make style() return
2081         a RenderStyle&.
2082
2083         I'm adding three FIXME's in this patch:
2084
2085             - createRendererIfNeeded() calls AnimationController to set up
2086               the initial style manually instead of asking RenderElement's
2087               setAnimatedStyle() to do it. This can probably be done in a
2088               nicer way, but it's not clear yet how.
2089
2090             - ImageContentData::createRenderer() does a bit of unnecessary
2091               work. This should be easy to clean up but got too distracting
2092               to be part of this patch.
2093
2094             - Document::createRenderTree() creates the RenderView with an
2095               initial dummy RenderStyle. I've done this because resolving
2096               the document style assumes we already have a RenderView.
2097
2098         For styleWillChange() implementations to detect that they are
2099         reacting to the initial style, I've added a hasInitializedStyle()
2100         function on RenderElement. This will return false until you've
2101         called initializeStyle() on the renderer. This should go away
2102         along with initializeStyle() eventually.
2103
2104         Reviewed by Antti Koivisto.
2105
2106 2013-10-26  Tim Horton  <timothy_horton@apple.com>
2107
2108         [mac] Remove WebTiledLayer
2109         https://bugs.webkit.org/show_bug.cgi?id=123395
2110
2111         Reviewed by Anders Carlsson.
2112
2113         Mac doesn't use CATiledLayer at all anymore. We have to keep
2114         LayerTypeTiledLayer around for Windows, for now, but we can
2115         get rid of WebTiledLayer and some related Mac-specific code.
2116
2117         No new tests, just removing dead code.
2118
2119         * WebCore.xcodeproj/project.pbxproj:
2120         Remove WebTiledLayer.*
2121
2122         * platform/graphics/ca/PlatformCALayer.h:
2123         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2124         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2125         (PlatformCALayerMac::PlatformCALayerMac):
2126         Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
2127         Remove WebTiledLayer instantiation and setup code.
2128
2129         * platform/graphics/mac/WebTiledLayer.h: Removed.
2130         * platform/graphics/mac/WebTiledLayer.mm: Removed.
2131
2132 2013-10-26  Andreas Kling  <akling@apple.com>
2133
2134         CTTE: RenderImageResourceStyleImage always has a StyleImage.
2135         <https://webkit.org/b/123390>
2136
2137         Codify the fact that RenderImageResourceStyleImage always wraps an
2138         existing StyleImage object.
2139
2140         Reviewed by Antti Koivisto.
2141
2142 2013-10-26  Antti Koivisto  <antti@apple.com>
2143
2144         Revert some accidental changes.
2145
2146         * css/CSSFontFaceSource.cpp:
2147         (WebCore::CSSFontFaceSource::getFontData):
2148         * css/CSSFontSelector.cpp:
2149         * css/CSSFontSelector.h:
2150
2151 2013-10-26  Mark Lam  <mark.lam@apple.com>
2152
2153         Gardening: fixed broken build.
2154         https://bugs.webkit.org/show_bug.cgi?id=123354.
2155
2156         * css/CSSFontSelector.h:
2157
2158 2013-10-26  Antti Koivisto  <antti@apple.com>
2159
2160         fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
2161         https://bugs.webkit.org/show_bug.cgi?id=123354
2162
2163         Reviewed by Andreas Kling.
2164
2165         * rendering/SimpleLineLayout.cpp:
2166         (WebCore::SimpleLineLayout::canUseFor):
2167         
2168             Don't enable simple line layout if the primary font is loading. The code expects
2169             to use the primary font metrics for all lines but those won't match the fallbacks
2170             when font is not loaded.
2171
2172 2013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2173
2174         [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
2175         https://bugs.webkit.org/show_bug.cgi?id=123261
2176
2177         Reviewed by Gustavo Noronha Silva.
2178
2179         The interface function should be used instead.
2180
2181         * bindings/scripts/CodeGeneratorGObject.pm:
2182         (GetFunctionDeprecationInformation): Helper function to return the
2183         version when the function was deprecated and the function
2184         replacing the deprecated one.
2185         (GenerateFunction): Check if the function is deprecated to mark it
2186         as such in the header and API docs.
2187         * bindings/scripts/gobject-generate-headers.pl: Replace the unused
2188         WEBKIT_OBSOLETE_API macro with new macros to mark function as
2189         deprecated, using the glib macros so that we don't need checks for
2190         the platform.
2191         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
2192         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2193         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
2194         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
2195         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
2196         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
2197         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2198         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2199         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2200         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
2201         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
2202
2203 2013-10-25  Mark Lam  <mark.lam@apple.com>
2204
2205         DatabaseManager's ProposedDatabases need to be thread-safe.
2206         https://bugs.webkit.org/show_bug.cgi?id=123313.
2207
2208         Reviewed by Geoffrey Garen.
2209
2210         No new tests.
2211
2212         * Modules/webdatabase/DatabaseManager.cpp:
2213         (WebCore::DatabaseManager::DatabaseManager):
2214         (WebCore::DatabaseManager::existingDatabaseContextFor):
2215         (WebCore::DatabaseManager::registerDatabaseContext):
2216         (WebCore::DatabaseManager::unregisterDatabaseContext):
2217         (WebCore::DatabaseManager::didConstructDatabaseContext):
2218         (WebCore::DatabaseManager::didDestructDatabaseContext):
2219         (WebCore::DatabaseManager::openDatabaseBackend):
2220         (WebCore::DatabaseManager::addProposedDatabase):
2221         (WebCore::DatabaseManager::removeProposedDatabase):
2222         (WebCore::DatabaseManager::fullPathForDatabase):
2223         (WebCore::DatabaseManager::detailsForNameAndOrigin):
2224         * Modules/webdatabase/DatabaseManager.h:
2225
2226 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
2227
2228         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
2229         https://bugs.webkit.org/show_bug.cgi?id=123111
2230
2231         Reviewed by Timothy Hatcher.
2232
2233         * Configurations/FeatureDefines.xcconfig:
2234         * WebCore.exp.in:
2235
2236 2013-10-25  Hans Muller  <hmuller@adobe.com>
2237
2238         [CSS Shapes] CORS-enabled fetch for shape image values
2239         https://bugs.webkit.org/show_bug.cgi?id=123114
2240
2241         Reviewed by Andreas Kling.
2242
2243         Access to shape images is now controlled by CORS CSS shape per
2244         http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
2245         Previously shape images had to be same-origin.
2246
2247         Shape image URL access is defined by the same logic that defines
2248         canvas tainting: same-origin and data URLs are allowed and images
2249         with a "Access-Control-Allow-Origin:" header that's either "*" or
2250         that matches the document's origin.
2251
2252         A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
2253         ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
2254         was to be undertaken. The CSSImageValue::cachedImage() method handles this
2255         option by effectively setting the "Origin:" request header (see
2256         updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
2257         StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.
2258
2259         The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
2260         now performs the CORS check for image valued shapes. The private
2261         isOriginClean() method from CanvasRenderingContext2D has been moved to
2262         the CachedImage class so that it can be shared by the Canvas and Shape
2263         implementations. It checks the response headers per the CORS spec.
2264
2265         Test: http/tests/security/shape-image-cors.html
2266
2267         * css/CSSImageValue.cpp:
2268         (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
2269         * css/StyleResolver.cpp:
2270         (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
2271         * html/canvas/CanvasRenderingContext2D.cpp:
2272         (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
2273         * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
2274         * loader/cache/CachedImage.cpp:
2275         (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
2276         * loader/cache/CachedImage.h:
2277         * rendering/shapes/ShapeInfo.cpp:
2278         (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
2279         * rendering/shapes/ShapeInfo.h:
2280         * rendering/shapes/ShapeInsideInfo.cpp:
2281         (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
2282         * rendering/shapes/ShapeOutsideInfo.cpp:
2283         (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.
2284
2285 2013-10-25  Jer Noble  <jer.noble@apple.com>
2286
2287         [MSE] Fix runtime errors caused by mediasource IDL attributes.
2288         https://bugs.webkit.org/show_bug.cgi?id=123352
2289
2290         Reviewed by Eric Carlson.
2291
2292         Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
2293         (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.
2294
2295         * Modules/mediasource/MediaSource.idl:
2296         * Modules/mediasource/SourceBuffer.idl:
2297         * Modules/mediasource/SourceBufferList.idl:
2298         * Modules/mediasource/WebKitMediaSource.idl:
2299         * Modules/mediasource/WebKitSourceBufferList.idl:
2300
2301 2013-10-25  Jacky Jiang  <zhajiang@blackberry.com>
2302
2303         [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
2304         https://bugs.webkit.org/show_bug.cgi?id=123349
2305
2306         Reviewed by George Staikos.
2307         Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
2308
2309         Browser crashed when dereferencing null PlatformGraphicsContext*.
2310         In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
2311         with null PlatformGraphicsContext* and disabled painting by doing
2312         context.setUpdatingControlTints(true). So we should not go further in
2313         GraphicsContext::drawLineForText() if painting is disabled.
2314         Check paintingDisabled() for the other functions in PathBlackBerry.cpp
2315         as well; otherwise, it is likely we will crash at those places.
2316
2317         * platform/graphics/blackberry/PathBlackBerry.cpp:
2318         (WebCore::GraphicsContext::fillPath):
2319         (WebCore::GraphicsContext::strokePath):
2320         (WebCore::GraphicsContext::drawLine):
2321         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2322         (WebCore::GraphicsContext::drawLineForText):
2323         (WebCore::GraphicsContext::clip):
2324         (WebCore::GraphicsContext::clipPath):
2325         (WebCore::GraphicsContext::canvasClip):
2326         (WebCore::GraphicsContext::clipOut):
2327
2328 2013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2329
2330         Adding platform implementation of MediaStreamTrack
2331         https://bugs.webkit.org/show_bug.cgi?id=123301
2332
2333         Reviewed by Eric Carlson.
2334
2335         No new tests needed.
2336
2337         * CMakeLists.txt:
2338         * Modules/mediastream/AudioStreamTrack.cpp:
2339         (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
2340
2341         (WebCore::AudioStreamTrack::AudioStreamTrack):
2342         * Modules/mediastream/AudioStreamTrack.h:
2343         * Modules/mediastream/MediaStream.cpp:
2344         (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
2345         instances to create each MediaStreamTrack of MediaStream.
2346
2347         (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
2348         MediaStreamTrackPrivate as parameter.
2349
2350         * Modules/mediastream/MediaStreamTrack.cpp:
2351         (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
2352         MediaStreamSource.
2353
2354         (WebCore::MediaStreamTrack::~MediaStreamTrack):
2355         (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
2356
2357         (WebCore::MediaStreamTrack::setSource): Ditto.
2358
2359         (WebCore::MediaStreamTrack::id): Ditto.
2360
2361         (WebCore::MediaStreamTrack::label): Ditto.
2362
2363         (WebCore::MediaStreamTrack::enabled): Ditto.
2364
2365         (WebCore::MediaStreamTrack::setEnabled): Ditto.
2366
2367         (WebCore::MediaStreamTrack::muted): Ditto.
2368
2369         (WebCore::MediaStreamTrack::readonly): Ditto.
2370
2371         (WebCore::MediaStreamTrack::remote): Ditto.
2372
2373         (WebCore::MediaStreamTrack::readyState): Ditto.
2374
2375         (WebCore::MediaStreamTrack::states):
2376         (WebCore::MediaStreamTrack::capabilities):
2377         (WebCore::MediaStreamTrack::clone):
2378         (WebCore::MediaStreamTrack::stopProducingData):
2379         (WebCore::MediaStreamTrack::ended): Ditto.
2380
2381         (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
2382
2383         (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
2384
2385         (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
2386         (WebCore::MediaStreamTrack::configureTrackRendering):
2387         (WebCore::MediaStreamTrack::stopped): Ditto.
2388
2389         (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
2390
2391         (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
2392
2393         (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
2394
2395         * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
2396
2397         (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
2398         (WebCore::MediaStreamTrack::privateTrack):
2399         * Modules/mediastream/VideoStreamTrack.cpp:
2400         (WebCore::VideoStreamTrack::create):
2401         (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
2402         * Modules/mediastream/VideoStreamTrack.h:
2403         * platform/mediastream/MediaStreamDescriptor.cpp:
2404         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
2405         MediaStreamDescriptor class).
2406
2407         (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
2408
2409         (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
2410
2411         * platform/mediastream/MediaStreamDescriptor.h:
2412         (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
2413
2414         (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
2415
2416         (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
2417
2418         (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
2419
2420         (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
2421         has.
2422
2423         (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
2424
2425         (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
2426         has.
2427         (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
2428         * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
2429         * platform/mediastream/MediaStreamTrackPrivate.h: Added.
2430
2431 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
2432
2433         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
2434         <https://webkit.org/b/123210>
2435
2436         Reviewed by David Hyatt.
2437
2438         I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
2439         in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
2440         since it's not always that reliable, what I'll will report in a separate bug.
2441
2442         No new tests, covered by existing tests.
2443
2444         * rendering/RenderBlockLineLayout.cpp:
2445         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
2446
2447 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
2448
2449         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
2450         <https://bugs.webkit.org/show_bug.cgi?id=123275>
2451
2452         Reviewed by David Hyatt.
2453
2454         We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
2455         adjusting the first line to the shape's top. This patch adds two boolean to make that clear.
2456
2457         No new tests, no behavior change.
2458
2459         * rendering/RenderBlockLineLayout.cpp:
2460         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
2461
2462 2013-10-25  Antti Koivisto  <antti@apple.com>
2463
2464         Faster way for simple line layout to check if text has fallback fonts
2465         https://bugs.webkit.org/show_bug.cgi?id=123342
2466
2467         Reviewed by Andreas Kling.
2468         
2469         Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
2470
2471         Simple text code path test already guarantees there is no overflow. Test for fallback
2472         fonts explicitly.
2473
2474         * platform/graphics/SimpleFontData.h:
2475         
2476             Make FINAL.
2477
2478         * rendering/RenderText.cpp:
2479         * rendering/RenderText.h:
2480         
2481             Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
2482
2483         * rendering/SimpleLineLayout.cpp:
2484         (WebCore::SimpleLineLayout::canUseFor):
2485         
2486             Check if all characters can be found from the primary font.
2487
2488 2013-10-25  Andreas Kling  <akling@apple.com>
2489
2490         SVGResourcesCache::clientDestroyed() should take a RenderElement&.
2491         <https://webkit.org/b/123339>
2492
2493         This function is always called with an object, and that object
2494         is guaranteed to never be a text renderer.
2495
2496         Reviewed by Antti Koivisto.
2497
2498 2013-10-25  Andreas Kling  <akling@apple.com>
2499
2500         SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
2501         <https://webkit.org/b/123336>
2502
2503         This function is always called with an object, and that object
2504         is guaranteed to never be a text renderer.
2505
2506         Reviewed by Antti Koivisto.
2507
2508 2013-10-25  Andreas Kling  <akling@apple.com>
2509
2510         SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
2511         <https://webkit.org/b/123335>
2512
2513         This function is always called with an object, and that object
2514         is guaranteed to never be a text renderer.
2515
2516         Reviewed by Antti Koivisto.
2517
2518 2013-10-25  Andreas Kling  <akling@apple.com>
2519
2520         SVG: postApplyResource() should take a RenderElement&.
2521         <https://webkit.org/b/123334>
2522
2523         This function is always called with an object, and that object
2524         is guaranteed to never be a text renderer.
2525
2526         Reviewed by Antti Koivisto.
2527
2528 2013-10-25  Antti Koivisto  <antti@apple.com>
2529
2530         REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
2531         https://bugs.webkit.org/show_bug.cgi?id=123309
2532
2533         Reviewed by Andreas Kling.
2534
2535         Disable simple line layout on non-Mac plaforms for now.
2536
2537         * rendering/SimpleLineLayout.cpp:
2538         (WebCore::SimpleLineLayout::canUseFor):
2539
2540 2013-10-24  Andreas Kling  <akling@apple.com>
2541
2542         SVG: applyResource() should take a RenderElement&.
2543         <https://webkit.org/b/123286>
2544
2545         This function is always called with an object, and that object
2546         is guaranteed to never be a text renderer.
2547
2548         Reviewed by Antti Koivisto.
2549
2550 2013-10-25  Andreas Kling  <akling@apple.com>
2551
2552         RenderElement::styleWillChange() should pass newStyle as reference.
2553         <https://webkit.org/b/123332>
2554
2555         When styleWillChange() is called, there is always a new style getting
2556         set so there's no need to handle the null style case.
2557         This flushed out a couple of unnecessary checks.
2558
2559         Reviewed by Antti Koivisto.
2560
2561 2013-10-25  peavo@outlook.com  <peavo@outlook.com>
2562
2563         [WinCairo] Compile fixes.
2564         https://bugs.webkit.org/show_bug.cgi?id=123269
2565
2566         Reviewed by Csaba Osztrogon√°c.
2567
2568         * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
2569         (WebCore::BitmapImage::getHBITMAPOfSize):
2570         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2571
2572 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
2573
2574         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
2575         https://bugs.webkit.org/show_bug.cgi?id=118620
2576
2577         Reviewed by Antti Koivisto.
2578
2579         Turns out that order is extremelly uncommon so using a Vector is
2580         much less expensive. This also special-cases the much common case
2581         of only having order of value 0 by using Vectors with just one
2582         preallocated member.
2583
2584         Also added the performance test that shows a ~1% win when using a
2585         vector instead of the HashSet.
2586
2587         * rendering/RenderFlexibleBox.cpp:
2588         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
2589         (WebCore::RenderFlexibleBox::layoutBlock):
2590         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2591         * rendering/RenderFlexibleBox.h:
2592
2593 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
2594
2595         Non-SVG build broken after r157950
2596         https://bugs.webkit.org/show_bug.cgi?id=123328
2597
2598         Reviewed by Xan Lopez.
2599
2600         The isSVGInlineTest() check should be done only if SVG is enabled.
2601
2602         * rendering/SimpleLineLayout.cpp:
2603         (WebCore::SimpleLineLayout::canUseFor):
2604
2605 2013-10-24  Jer Noble  <jer.noble@apple.com>
2606
2607         [Mac] Add helper methods to convert CMTime <--> MediaTime
2608         https://bugs.webkit.org/show_bug.cgi?id=123285
2609
2610         Reviewed by Eric Carlson.
2611
2612         Add utility methods to convert between CMTime (a rational time class) and MediaTime.
2613         Once there, PlatformClockCM can now vend and accept MediaTimes for currentTime.
2614
2615         * platform/mac/MediaTimeMac.h:
2616         * platform/mac/MediaTimeMac.cpp:
2617         (WebCore::toMediaTime): Added conversion utility method.
2618         (WebCore::toCMTime): Ditto.
2619
2620         * platform/mac/PlatformClockCM.h:
2621         * platform/mac/PlatformClockCM.mm:
2622         (PlatformClockCM::setCurrentMediaTime): Added.
2623         (PlatformClockCM::currentMediaTime): Added.
2624
2625         * WebCore.xcodeproj/project.pbxproj: Add new files to project.
2626
2627 2013-10-24  Mark Rowe  <mrowe@apple.com>
2628
2629         Remove references to OS X 10.7 from Xcode configuration settings.
2630
2631         Now that we're not building for OS X 10.7 they're no longer needed.
2632
2633         Reviewed by Anders Carlsson.
2634
2635
2636         * Configurations/Base.xcconfig:
2637         * Configurations/DebugRelease.xcconfig:
2638         * Configurations/FeatureDefines.xcconfig:
2639         * Configurations/Version.xcconfig:
2640
2641 2013-10-24  Antti Koivisto  <antti@apple.com>
2642
2643         Cache line layout path
2644         https://bugs.webkit.org/show_bug.cgi?id=123298
2645
2646         Reviewed by Sam Weinig.
2647         
2648         Determining the path can be non-trivial. Avoid computing it repeatedly on relayouts.
2649
2650         * rendering/RenderBlock.cpp:
2651         (WebCore::RenderBlock::RenderBlock):
2652         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
2653         (WebCore::RenderBlock::invalidateLineLayoutPath):
2654         (WebCore::RenderBlock::removeChild):
2655         
2656             Invalidate the path when children change.
2657
2658         * rendering/RenderBlock.h:
2659         * rendering/RenderBlockFlow.cpp:
2660         (WebCore::RenderBlockFlow::layoutInlineChildren):
2661         (WebCore::RenderBlockFlow::styleDidChange):
2662         
2663             Invalidate the path when style changes.
2664
2665         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
2666         (WebCore::RenderBlockFlow::ensureLineBoxes):
2667         * rendering/RenderText.cpp:
2668         (WebCore::RenderText::setText):
2669         
2670             Invalidate the path when text changes.
2671
2672 2013-10-24  Mark Rowe  <mrowe@apple.com>
2673
2674         <rdar://problem/15312643> Prepare for the mysterious future.
2675
2676         Reviewed by David Kilzer.
2677
2678
2679         * Configurations/Base.xcconfig:
2680         * Configurations/DebugRelease.xcconfig:
2681         * Configurations/FeatureDefines.xcconfig:
2682         * Configurations/Version.xcconfig:
2683
2684 2013-10-24  Andreas Kling  <akling@apple.com>
2685
2686         DocumentLoader::cachedResourceLoader() should return a reference.
2687         <https://webkit.org/b/123303>
2688
2689         ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
2690         a Ref, and have CachedResourceLoader::create return a PassRef.
2691
2692         Reviewed by Sam Weinig.
2693
2694 2013-10-24  Anders Carlsson  <andersca@apple.com>
2695
2696         Stop bringing in the std namespace
2697         https://bugs.webkit.org/show_bug.cgi?id=123273
2698
2699         Reviewed by Andreas Kling.
2700
2701         * Modules/webaudio/AudioBufferSourceNode.cpp:
2702         (WebCore::AudioBufferSourceNode::renderFromBuffer):
2703         (WebCore::AudioBufferSourceNode::startGrain):
2704         (WebCore::AudioBufferSourceNode::totalPitchRate):
2705         * Modules/webaudio/AudioNodeInput.cpp:
2706         (WebCore::AudioNodeInput::numberOfChannels):
2707         * Modules/webaudio/AudioParamTimeline.cpp:
2708         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2709         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2710         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
2711         (WebCore::AudioScheduledSourceNode::stop):
2712         * Modules/webaudio/AudioSummingJunction.cpp:
2713         * Modules/webaudio/DelayDSPKernel.cpp:
2714         (WebCore::DelayDSPKernel::process):
2715         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
2716         (WebCore::OfflineAudioDestinationNode::offlineRender):
2717         * Modules/webaudio/OscillatorNode.cpp:
2718         * Modules/webaudio/PannerNode.cpp:
2719         (WebCore::PannerNode::dopplerRate):
2720         * Modules/webaudio/WaveShaperDSPKernel.cpp:
2721         (WebCore::WaveShaperDSPKernel::processCurve):
2722         * Modules/webdatabase/DatabaseTracker.cpp:
2723         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
2724         * Modules/websockets/WebSocket.cpp:
2725         (WebCore::saturateAdd):
2726         * Modules/websockets/WebSocketChannel.cpp:
2727         * Modules/websockets/WebSocketFrame.cpp:
2728         (WebCore::WebSocketFrame::parseFrame):
2729         * accessibility/AccessibilityARIAGrid.cpp:
2730         * accessibility/AccessibilityARIAGridCell.cpp:
2731         * accessibility/AccessibilityARIAGridRow.cpp:
2732         * accessibility/AccessibilityList.cpp:
2733         * accessibility/AccessibilityListBox.cpp:
2734         * accessibility/AccessibilityListBoxOption.cpp:
2735         * accessibility/AccessibilityNodeObject.cpp:
2736         * accessibility/AccessibilityObject.cpp:
2737         * accessibility/AccessibilityRenderObject.cpp:
2738         * accessibility/AccessibilityTable.cpp:
2739         (WebCore::AccessibilityTable::addChildren):
2740         * accessibility/AccessibilityTableCell.cpp:
2741         * accessibility/AccessibilityTableColumn.cpp:
2742         * accessibility/AccessibilityTableHeaderContainer.cpp:
2743         * accessibility/AccessibilityTableRow.cpp:
2744         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2745         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2746         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2747         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2748         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
2749         * bindings/js/JSGeolocationCustom.cpp:
2750         (WebCore::setTimeout):
2751         (WebCore::setMaximumAge):
2752         * bindings/js/ScriptController.cpp:
2753         * bindings/js/SerializedScriptValue.cpp:
2754         (WebCore::writeLittleEndian):
2755         (WebCore::CloneSerializer::write):
2756         (WebCore::CloneDeserializer::deserialize):
2757         (WebCore::CloneDeserializer::readString):
2758         * css/CSSComputedStyleDeclaration.cpp:
2759         (WebCore::ComputedStyleExtractor::propertyValue):
2760         * css/CSSFontSelector.cpp:
2761         (WebCore::CSSFontSelector::getFontFace):
2762         * css/CSSGradientValue.cpp:
2763         (WebCore::CSSRadialGradientValue::createGradient):
2764         * css/CSSParser.cpp:
2765         (WebCore::CSSParser::parseValue):
2766         (WebCore::CSSParser::parseColorParameters):
2767         (WebCore::CSSParser::parseHSLParameters):
2768         * css/CSSReflectValue.cpp:
2769         * css/DeprecatedStyleBuilder.cpp:
2770         (WebCore::ApplyPropertyFontSize::applyValue):
2771         * css/PropertySetCSSStyleDeclaration.cpp:
2772         * css/SVGCSSParser.cpp:
2773         * css/StylePropertySet.cpp:
2774         (WebCore::StylePropertySet::getLayeredShorthandValue):
2775         * css/StyleResolver.cpp:
2776         (WebCore::StyleResolver::viewportPercentageValue):
2777         * dom/CharacterData.cpp:
2778         (WebCore::CharacterData::parserAppendData):
2779         * dom/ContainerNode.cpp:
2780         * dom/Document.cpp:
2781         (WebCore::Document::minimumLayoutDelay):
2782         * dom/Node.cpp:
2783         (WebCore::Node::compareDocumentPosition):
2784         * dom/Range.cpp:
2785         (WebCore::Range::toString):
2786         (WebCore::Range::textRects):
2787         (WebCore::Range::textQuads):
2788         * dom/ScriptedAnimationController.cpp:
2789         (WebCore::ScriptedAnimationController::scheduleAnimation):
2790         * dom/StyledElement.cpp:
2791         (WebCore::StyledElement::makePresentationAttributeCacheKey):
2792         * dom/Text.cpp:
2793         * dom/ViewportArguments.cpp:
2794         (WebCore::clampLengthValue):
2795         (WebCore::clampScaleValue):
2796         (WebCore::ViewportArguments::resolve):
2797         (WebCore::computeMinimumScaleFactorForContentContained):
2798         (WebCore::restrictMinimumScaleFactorToViewportSize):
2799         * editing/AlternativeTextController.cpp:
2800         * editing/ApplyStyleCommand.cpp:
2801         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2802         * editing/CompositeEditCommand.cpp:
2803         (WebCore::CompositeEditCommand::deleteInsignificantText):
2804         * editing/Editor.cpp:
2805         (WebCore::Editor::setComposition):
2806         (WebCore::Editor::compositionRange):
2807         * editing/EditorCommand.cpp:
2808         (WebCore::verticalScrollDistance):
2809         * editing/TextIterator.cpp:
2810         (WebCore::TextIterator::handleTextNode):
2811         (WebCore::TextIterator::handleTextBox):
2812         (WebCore::CharacterIterator::string):
2813         (WebCore::SearchBuffer::SearchBuffer):
2814         (WebCore::SearchBuffer::append):
2815         (WebCore::SearchBuffer::prependContext):
2816         (WebCore::SearchBuffer::search):
2817         * editing/VisibleUnits.cpp:
2818         (WebCore::startOfParagraph):
2819         * editing/htmlediting.cpp:
2820         * editing/markup.cpp:
2821         * fileapi/FileReaderLoader.cpp:
2822         (WebCore::FileReaderLoader::didReceiveResponse):
2823         (WebCore::FileReaderLoader::didReceiveData):
2824         * history/BackForwardList.cpp:
2825         (WebCore::BackForwardList::backListWithLimit):
2826         (WebCore::BackForwardList::forwardListWithLimit):
2827         * history/PageCache.cpp:
2828         (WebCore::PageCache::setCapacity):
2829         * html/BaseDateAndTimeInputType.cpp:
2830         * html/FTPDirectoryDocument.cpp:
2831         * html/HTMLAreaElement.cpp:
2832         (WebCore::HTMLAreaElement::getRegion):
2833         * html/HTMLElement.cpp:
2834         (WebCore::HTMLElement::parseAttribute):
2835         (WebCore::parseColorStringWithCrazyLegacyRules):
2836         * html/HTMLFormControlElement.cpp:
2837         * html/HTMLFormElement.cpp:
2838         (WebCore::HTMLFormElement::getTextFieldValues):
2839         * html/HTMLImageElement.cpp:
2840         * html/HTMLInputElement.cpp:
2841         * html/HTMLMapElement.cpp:
2842         * html/HTMLMediaElement.cpp:
2843         (WebCore::HTMLMediaElement::HTMLMediaElement):
2844         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
2845         (WebCore::HTMLMediaElement::textTrackAddCue):
2846         (WebCore::HTMLMediaElement::textTrackRemoveCue):
2847         (WebCore::HTMLMediaElement::rewind):
2848         (WebCore::HTMLMediaElement::seek):
2849         (WebCore::HTMLMediaElement::duration):
2850         * html/HTMLSelectElement.cpp:
2851         (WebCore::HTMLSelectElement::parseAttribute):
2852         (WebCore::HTMLSelectElement::updateListBoxSelection):
2853         * html/HTMLSourceElement.cpp:
2854         * html/HTMLTableCellElement.cpp:
2855         (WebCore::HTMLTableCellElement::colSpan):
2856         (WebCore::HTMLTableCellElement::rowSpan):
2857         * html/HTMLTableElement.cpp:
2858         (WebCore::HTMLTableElement::parseAttribute):
2859         * html/HTMLTextFormControlElement.cpp:
2860         (WebCore::HTMLTextFormControlElement::setSelectionStart):
2861         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
2862         (WebCore::HTMLTextFormControlElement::select):
2863         (WebCore::HTMLTextFormControlElement::setSelectionRange):
2864         * html/HTMLTrackElement.cpp:
2865         * html/ImageDocument.cpp:
2866         (WebCore::ImageDocument::scale):
2867         * html/InputType.cpp:
2868         (WebCore::InputType::valueAsDouble):
2869         * html/MediaController.cpp:
2870         (MediaController::duration):
2871         (MediaController::currentTime):
2872         (MediaController::setCurrentTime):
2873         (MediaController::updateReadyState):
2874         * html/NumberInputType.cpp:
2875         (WebCore::NumberInputType::setValueAsDouble):
2876         (WebCore::NumberInputType::setValueAsDecimal):
2877         (WebCore::NumberInputType::createStepRange):
2878         * html/RangeInputType.cpp:
2879         (WebCore::RangeInputType::handleKeydownEvent):
2880         * html/SearchInputType.cpp:
2881         (WebCore::SearchInputType::startSearchEventTimer):
2882         * html/StepRange.cpp:
2883         (WebCore::StepRange::clampValue):
2884         (WebCore::StepRange::parseStep):
2885         * html/TimeRanges.cpp:
2886         * html/ValidationMessage.cpp:
2887         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2888         (WebCore::adjustBubblePosition):
2889         * html/canvas/CanvasRenderingContext2D.cpp:
2890         (WebCore::normalizeRect):
2891         * html/canvas/WebGLRenderingContext.cpp:
2892         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2893         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2894         * html/shadow/MediaControlElements.cpp:
2895         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
2896         * html/shadow/MediaControlsApple.cpp:
2897         * html/shadow/SliderThumbElement.cpp:
2898         (WebCore::SliderThumbElement::setPositionFromPoint):
2899         * inspector/ContentSearchUtils.cpp:
2900         * inspector/DOMEditor.cpp:
2901         * inspector/DOMPatchSupport.cpp:
2902         (WebCore::DOMPatchSupport::diff):
2903         * inspector/InjectedScriptHost.cpp:
2904         * loader/ProgressTracker.cpp:
2905         (WebCore::ProgressTracker::incrementProgress):
2906         * loader/cache/CachedImage.cpp:
2907         * page/DOMWindow.cpp:
2908         (WebCore::DOMWindow::adjustWindowRect):
2909         * page/EventHandler.cpp:
2910         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
2911         * page/FrameTree.cpp:
2912         * page/FrameView.cpp:
2913         (WebCore::FrameView::adjustedDeferredRepaintDelay):
2914         (WebCore::FrameView::autoSizeIfEnabled):
2915         * page/PrintContext.cpp:
2916         (WebCore::PrintContext::computeAutomaticScaleFactor):
2917         * page/SpatialNavigation.cpp:
2918         (WebCore::entryAndExitPointsForDirection):
2919         * page/animation/CSSPropertyAnimation.cpp:
2920         (WebCore::blendFilterOperations):
2921         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
2922         * platform/graphics/FloatRect.cpp:
2923         (WebCore::FloatRect::FloatRect):
2924         (WebCore::FloatRect::intersect):
2925         (WebCore::FloatRect::uniteEvenIfEmpty):
2926         (WebCore::FloatRect::extend):
2927         (WebCore::FloatRect::fitToPoints):
2928         * platform/graphics/GlyphPageTreeNode.cpp:
2929         (WebCore::GlyphPageTreeNode::initializePage):
2930         (WebCore::GlyphPageTreeNode::getChild):
2931         * platform/graphics/IntRect.cpp:
2932         (WebCore::IntRect::intersect):
2933         (WebCore::IntRect::unite):
2934         (WebCore::IntRect::uniteIfNonZero):
2935         * platform/graphics/LayoutRect.cpp:
2936         (WebCore::LayoutRect::intersect):
2937         (WebCore::LayoutRect::unite):
2938         (WebCore::LayoutRect::uniteIfNonZero):
2939         * platform/graphics/filters/FEMorphology.cpp:
2940         (WebCore::FEMorphology::platformApplyGeneric):
2941         (WebCore::FEMorphology::platformApplySoftware):
2942         * platform/mac/MemoryPressureHandlerMac.mm:
2943         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2944         * platform/text/TextCodecICU.cpp:
2945         * rendering/LineWidth.cpp:
2946         (WebCore::LineWidth::fitBelowFloats):
2947         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2948         * rendering/RenderBlock.h:
2949         (WebCore::RenderBlock::availableLogicalWidthForLine):
2950         (WebCore::RenderBlock::availableLogicalWidthForContent):
2951         * rendering/RenderFieldset.cpp:
2952         (WebCore::RenderFieldset::computePreferredLogicalWidths):
2953         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2954         (WebCore::RenderFieldset::paintBoxDecorations):
2955         * rendering/RenderFlowThread.cpp:
2956         (WebCore::RenderFlowThread::updateLogicalWidth):
2957         (WebCore::RenderFlowThread::addForcedRegionBreak):
2958         * rendering/RenderFrameBase.cpp:
2959         (WebCore::RenderFrameBase::layoutWithFlattening):
2960         * rendering/RenderFrameSet.cpp:
2961         (WebCore::RenderFrameSet::layOutAxis):
2962         * rendering/RenderSlider.cpp:
2963         (WebCore::RenderSlider::computePreferredLogicalWidths):
2964         * rendering/RenderTableCell.h:
2965         * rendering/RenderTreeAsText.cpp:
2966         (WebCore::writeLayers):
2967         * rendering/RootInlineBox.h:
2968         (WebCore::RootInlineBox::selectionHeight):
2969         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
2970         * rendering/mathml/RenderMathMLRow.cpp:
2971         (WebCore::RenderMathMLRow::layout):
2972         * rendering/mathml/RenderMathMLScripts.cpp:
2973         (WebCore::RenderMathMLScripts::layout):
2974         * rendering/style/RenderStyle.h:
2975         * rendering/style/StyleGeneratedImage.cpp:
2976         (WebCore::StyleGeneratedImage::imageSize):
2977         * style/StyleFontSizeFunctions.cpp:
2978         (WebCore::Style::fontSizeForKeyword):
2979         * svg/SVGSVGElement.cpp:
2980         (WebCore::SVGSVGElement::setCurrentTime):
2981
2982 2013-10-24  Andreas Kling  <akling@apple.com>
2983
2984         Uncomplicate some of SVGTextRunRenderingContext.
2985         <https://webkit.org/b/123294>
2986
2987         This class was weird about a few things, so I've taken these steps
2988         to clear things up:
2989
2990         - FINAL and OVERRIDE all the things.
2991         - Constructor now takes a RenderObject&.
2992         - renderer() now returns a RenderObject&.
2993         - drawSVGGlyphs() no longer takes a TextRun.
2994         - glyphDataForCharacter() no longer takes a TextRun.
2995
2996         To expand on the last two, there was also some awkward hoop-jumping
2997         where we'd go through the TextRun passed by argument to find its
2998         rendering context, which was really just |this| all along.
2999
3000         Reviewed by Antti Koivisto.
3001
3002 2013-10-24  Roger Fong  <roger_fong@apple.com>
3003
3004         Add texture level dependent size checks to textureImage2D calls.
3005         https://bugs.webkit.org/show_bug.cgi?id=123290
3006         <rdar://problem/15201382>
3007
3008         Reviewed by Dean Jackson
3009
3010         Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.
3011
3012         There are different size limits when calling textureImage2D on different texture levels.
3013         We should be throwing an error if our texture size exceeds these limits.
3014
3015         * html/canvas/WebGLRenderingContext.cpp:
3016         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
3017
3018 2013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3019
3020         [MediaStream API] allow a stream source to be shared
3021         https://bugs.webkit.org/show_bug.cgi?id=121954
3022
3023         Reviewed by Eric Carlson.
3024
3025         Now, the MediaStreamSource don't know about the MediaStream that owns it,
3026         since there can be more than one MediaStream that has it as source for some track.
3027         MediaStreamTrack classes now have observers registered, in case there are more than
3028         one MediaStream owning that track
3029
3030         No new tests, no change in functionality.
3031
3032         * Modules/mediastream/MediaStream.cpp:
3033         (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.
3034
3035         (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
3036         and adding the source to the MediaStreamDescriptor.
3037
3038         (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
3039         there isn't any other track using that source, if not we remove the source.
3040
3041         (WebCore::MediaStream::haveTrackWithSource):
3042         (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
3043         that uses it, so now we don't set the stream in the source anymore.
3044
3045         (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
3046         get each track that is using the source and then remove it and fire the ended event.
3047
3048         * Modules/mediastream/MediaStream.h:
3049         * Modules/mediastream/MediaStreamTrack.cpp:
3050         (WebCore::MediaStreamTrack::addObserver):
3051         (WebCore::MediaStreamTrack::removeObserver):
3052         (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
3053         notify each of its observers that the track ended.
3054
3055         * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.
3056
3057         * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
3058         each MediaStreamSource's descriptor to null.
3059
3060         (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.
3061
3062         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
3063
3064         (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended
3065
3066         * platform/mediastream/MediaStreamDescriptor.h:
3067         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
3068         * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
3069         (WebCore::MediaStreamSource::MediaStreamSource):
3070         (WebCore::MediaStreamSource::reset):
3071         * platform/mediastream/MediaStreamSource.h:
3072
3073 2013-10-24  Daniel Bates  <dabates@apple.com>
3074
3075         Crash in WebCore::NavigationScheduler::startTimer()
3076         https://bugs.webkit.org/show_bug.cgi?id=123288
3077         <rdar://problem/14055644>
3078
3079         Reviewed by Alexey Proskuryakov.
3080
3081         Currently NavigationScheduler::startTimer() synchronously notifies the client
3082         before the Web Inspector of a scheduled redirect. If a client cancels this
3083         redirect then NavigationScheduler::m_redirect will become null and we'll
3084         subsequently crash when informing the Web Inspector of this formerly scheduled
3085         redirect. Instead, NavigationScheduler::startTimer() should notify the Web
3086         Inspector before it notifies the client of a scheduled redirect.
3087
3088         As a side benefit of this change, the Web Inspector is notified of a scheduled
3089         redirect before being notified of it being canceled when a client chooses to cancel
3090         a scheduled redirect.
3091
3092         * loader/NavigationScheduler.cpp:
3093         (WebCore::NavigationScheduler::startTimer):
3094
3095 2013-10-24  Antti Koivisto  <antti@apple.com>
3096
3097         Try to fix build without CSS_SHAPES.
3098
3099         * rendering/SimpleLineLayout.cpp:
3100         (WebCore::SimpleLineLayout::canUseFor):
3101
3102 2013-10-24  Antti Koivisto  <antti@apple.com>
3103
3104         Simple line layout
3105         https://bugs.webkit.org/show_bug.cgi?id=122458
3106
3107         Reviewed by Darin Adler.
3108
3109         Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
3110         is a compact alternative data structure and fast code path to cover common cases without requiring line
3111         boxes.
3112         
3113         This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
3114         case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
3115         which path to use is made per block flow (paragraph).
3116         
3117         Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
3118         
3119         The goal is to handle everything that requires line level access in cases that allow use of simple lines.
3120         This is not quite the case yet. For example selections and outline painting are not supported. In these
3121         cases we seamlessly switch to the line boxes.
3122
3123         The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
3124         Laying out the lines is also several times faster as is iterating over them.
3125
3126         * CMakeLists.txt:
3127         * GNUmakefile.list.am:
3128         * WebCore.vcxproj/WebCore.vcxproj:
3129         * WebCore.xcodeproj/project.pbxproj:
3130         * dom/Position.cpp:
3131         (WebCore::Position::upstream):
3132         (WebCore::Position::downstream):
3133         (WebCore::Position::getInlineBoxAndOffset):
3134         
3135             Creating positions within a simple line flow causes switch to line boxes.
3136
3137         * editing/TextIterator.cpp:
3138         (WebCore::TextIterator::handleTextNode):
3139         
3140             TextIterator traverses line boxes if available. In case simple line case we need to replicate the
3141             same results (for compatibility but especially to avoid changing test results). This is done here
3142             by just traversing the string without actually using the layout.
3143
3144         * rendering/RenderBlock.cpp:
3145         (WebCore::RenderBlock::RenderBlock):
3146         (WebCore::RenderBlock::layoutShapeInsideInfo):
3147         * rendering/RenderBlock.h:
3148         * rendering/RenderBlockFlow.cpp:
3149         (WebCore::RenderBlockFlow::layoutInlineChildren):
3150         
3151             Select the layout path to use.
3152
3153         (WebCore::RenderBlockFlow::deleteLines):
3154         (WebCore::RenderBlockFlow::hitTestInlineChildren):
3155         (WebCore::RenderBlockFlow::adjustForBorderFit):
3156         (WebCore::RenderBlockFlow::firstLineBaseline):
3157         (WebCore::RenderBlockFlow::inlineBlockBaseline):
3158         (WebCore::RenderBlockFlow::inlineSelectionGaps):
3159         (WebCore::RenderBlockFlow::clearTruncation):
3160         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
3161         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
3162         (WebCore::RenderBlockFlow::paintInlineChildren):
3163         (WebCore::RenderBlockFlow::hasLines):
3164         (WebCore::RenderBlockFlow::layoutSimpleLines):
3165         
3166             Do simple layout.
3167
3168         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
3169         (WebCore::RenderBlockFlow::ensureLineBoxes):
3170         
3171             This function switches from simple lines to line boxes. The switching can be done outside normal layout.
3172             This is used to cover some cases that are not yet supported by simple lines (like selections).
3173
3174         * rendering/RenderBlockFlow.h:
3175         (WebCore::RenderBlockFlow::simpleLines):
3176         * rendering/RenderBlockLineLayout.cpp:
3177         (WebCore::RenderBlockFlow::layoutLineBoxes):
3178         
3179             Rename the line box layout function.
3180
3181         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
3182         * rendering/RenderText.cpp:
3183         (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
3184         (WebCore::RenderText::absoluteRects):
3185         (WebCore::RenderText::absoluteRectsForRange):
3186         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
3187         (WebCore::RenderText::absoluteQuads):
3188         (WebCore::RenderText::absoluteQuadsForRange):
3189         (WebCore::RenderText::positionForPoint):
3190         (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
3191         (WebCore::RenderText::setSelectionState):
3192         (WebCore::RenderText::setTextWithOffset):
3193         (WebCore::RenderText::ensureLineBoxes):
3194         (WebCore::RenderText::simpleLines):
3195         (WebCore::RenderText::linesBoundingBox):
3196         (WebCore::RenderText::linesVisualOverflowBoundingBox):
3197         (WebCore::RenderText::selectionRectForRepaint):
3198         (WebCore::RenderText::caretMinOffset):
3199         (WebCore::RenderText::caretMaxOffset):
3200         (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
3201         (WebCore::RenderText::containsRenderedCharacterOffset):
3202         (WebCore::RenderText::containsCaretOffset):
3203         (WebCore::RenderText::hasRenderedText):
3204         * rendering/RenderText.h:
3205         * rendering/RenderTreeAsText.cpp:
3206         (WebCore::RenderTreeAsText::writeRenderObject):
3207         (WebCore::writeSimpleLine):
3208         (WebCore::write):
3209         * rendering/SimpleLineLayout.cpp: Added.
3210         (WebCore::SimpleLineLayout::canUseFor):
3211         
3212             This check for the cases supported by the simple line layout path.
3213
3214         (WebCore::SimpleLineLayout::isWhitespace):
3215         (WebCore::SimpleLineLayout::skipWhitespaces):
3216         (WebCore::SimpleLineLayout::textWidth):
3217         (WebCore::SimpleLineLayout::createLines):
3218         
3219             The main layout functions that breaks text to lines. It only handles the cases allowed by 
3220             SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
3221
3222         * rendering/SimpleLineLayout.h: Added.
3223         * rendering/SimpleLineLayoutFunctions.cpp: Added.
3224         (WebCore::SimpleLineLayout::paintFlow):
3225         (WebCore::SimpleLineLayout::hitTestFlow):
3226         (WebCore::SimpleLineLayout::collectFlowOverflow):
3227         (WebCore::SimpleLineLayout::computeTextBoundingBox):
3228         * rendering/SimpleLineLayoutFunctions.h: Added.
3229         (WebCore::SimpleLineLayout::computeFlowHeight):
3230         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
3231         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
3232         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
3233         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
3234         (WebCore::SimpleLineLayout::containsTextCaretOffset):
3235         (WebCore::SimpleLineLayout::isTextRendered):
3236         (WebCore::SimpleLineLayout::lineHeightFromFlow):
3237         
3238             Support functions called from RenderBlockFlow and RenderText. They are equivalent to
3239             similar line box functions.
3240
3241         (WebCore::SimpleLineLayout::baselineFromFlow):
3242         * rendering/SimpleLineLayoutResolver.h: Added.
3243         (WebCore::SimpleLineLayout::Resolver::Line::Line):
3244         (WebCore::SimpleLineLayout::Resolver::Line::rect):
3245         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
3246         (WebCore::SimpleLineLayout::Resolver::Line::text):
3247         (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
3248         (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
3249         (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
3250         (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
3251         (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
3252         (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
3253         
3254             Lazy iterator for deriving line metrics. This keeps the line data structure small as
3255             we don't need to keep easily derived values around.
3256
3257         (WebCore::SimpleLineLayout::Resolver::Resolver):
3258         (WebCore::SimpleLineLayout::Resolver::size):
3259         (WebCore::SimpleLineLayout::Resolver::begin):
3260         (WebCore::SimpleLineLayout::Resolver::end):
3261         (WebCore::SimpleLineLayout::Resolver::last):
3262         (WebCore::SimpleLineLayout::Resolver::operator[]):
3263
3264 2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
3265
3266         Gaps between underlines in adjacent underlined text runs
3267         https://bugs.webkit.org/show_bug.cgi?id=123236
3268
3269         Reviewed by Simon Fraser and Darin Adler.
3270
3271         There are two pieces to this change. The first piece is in
3272         InlineTextBox::paint(). We were putting floating-point
3273         extents into a LayoutSize, which simply uses ints (for now),
3274         and then immediately converting this back to a FloatSize.
3275         Instead, we should be using floats throughout all of
3276         this code.
3277
3278         In addition, inside GraphicsContext::drawLineForText(), we are
3279         rounding the underline to pixel boundaries so that it appears
3280         very crisp on the screen. However, we should round once after
3281         performing computations, rather than rounding twice and then
3282         performing computations on the rounded numbers.
3283
3284         Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
3285
3286         * platform/graphics/cg/GraphicsContextCG.cpp:
3287         (WebCore::GraphicsContext::drawLineForText): Change rounding mode
3288             to perform computations before rounding
3289         * rendering/InlineTextBox.cpp:
3290         (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
3291             just to convert to a FloatSize
3292
3293 2013-10-24  Andreas Kling  <akling@apple.com>
3294
3295         SVGRenderingContext should wrap a RenderElement.
3296         <https://webkit.org/b/123283>
3297
3298         The SVG rendering context class is never used with text renderers
3299         so we can have it wrap a RenderElement for tighter code.
3300
3301         Also renamed SVGRenderingContext::m_object to m_renderer.
3302
3303         Reviewed by Antti Koivisto.
3304
3305 2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
3306
3307         [contenteditable] Content after non-editable element disappears when merging lines using backspace
3308         https://bugs.webkit.org/show_bug.cgi?id=122748
3309
3310         Reviewed by Ryosuke Niwa.
3311
3312         In case of paragraph merging after deletion if second paragraph
3313         contains non-editable element, then content after the non-editable
3314         element(including non-editable element) will be removed while the
3315         content before the element will be merged with the first paragraph.
3316         This happens becasue endOfParagraphToMove calculation in merging function
3317         stop at editing boundary so endOfParagraphToMove becomes position just
3318         before non-editable content.
3319         With this patch now endOfParagraphToMove is calculated by skipping
3320         over the non-editable element.
3321
3322         Test: editing/deleting/merge-paragraph-contatining-noneditable.html
3323
3324         * editing/DeleteSelectionCommand.cpp:
3325         (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
3326         condition while calculating endOfParagraphToMove.
3327
3328 2013-10-24  Antoine Quint  <graouts@apple.com>
3329
3330         Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
3331         https://bugs.webkit.org/show_bug.cgi?id=123263
3332
3333         Reviewed by Timothy Hatcher.
3334
3335         A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
3336         which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
3337         that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
3338         frontend, and as a result we would try to dispatch an event with an unprefixed event type to
3339         the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
3340         unprefixed type.
3341
3342         We now move the call to InspectorInstrumentation::willDispatchEvent() in
3343         EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
3344         correct event type and list of listeners is used to determine what event to dispatch to the frontend.
3345
3346         * dom/EventDispatcher.cpp:
3347         (WebCore::EventDispatcher::dispatchEvent):
3348         Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
3349
3350         * dom/EventTarget.cpp:
3351         (WebCore::EventTarget::fireEventListeners):
3352         Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
3353         call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
3354         getting references to the ScriptExecutionContext and Document upfront now.
3355
3356 2013-10-24  Andreas Kling  <akling@apple.com>
3357
3358         SVG: RenderElement-ize intersectRepaintRectWithResources().
3359         <https://webkit.org/b/123278>
3360
3361         SVGRenderSupport::intersectRepaintRectWithResources() is only ever
3362         called with non-text renderers so make it take RenderElement&.
3363
3364         Had to tweak RenderSVGResource::resourceBoundingBox() to take the
3365         renderer by reference.
3366
3367         Reviewed by Antti Koivisto.
3368
3369 2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
3370
3371         Web Inspector: Breakpoints in sourceURL named scripts do not work
3372         https://bugs.webkit.org/show_bug.cgi?id=123231
3373
3374         Reviewed by Timothy Hatcher.
3375
3376         Remember a Script's sourceURL and sourceMappingURL. When setting a
3377         breakpoint by URL, check it against the sourceURL or original URL.
3378         If a script had a sourceURL that would have been the only URL sent
3379         to the frontend, so that receives priority.
3380
3381         Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
3382
3383         * inspector/InspectorDebuggerAgent.cpp:
3384         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3385         (WebCore::InspectorDebuggerAgent::didParseSource):
3386         * inspector/InspectorDebuggerAgent.h:
3387         * inspector/ScriptDebugListener.h:
3388
3389 2013-10-23  Alexey Proskuryakov  <ap@apple.com>
3390
3391         Add CryptoKey base class and bindings
3392         https://bugs.webkit.org/show_bug.cgi?id=123216
3393
3394         Reviewed by Sam Weinig.
3395
3396         * crypto/CryptoKey.idl: Added.
3397
3398         * CMakeLists.txt:
3399         * DerivedSources.make:
3400         * GNUmakefile.list.am:
3401         Process the IDL.
3402
3403         * WebCore.xcodeproj/project.pbxproj: Added files.
3404
3405         * bindings/js/JSCryptoKeyCustom.cpp: Added.
3406         (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
3407         for the key.
3408
3409         * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
3410         * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
3411         An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
3412         and possibly also for storage serialization. Not complete yet, we'll need support
3413         for a few more simple types, and less trivially, for nested algorithms.
3414
3415         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
3416         * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
3417         An implementation that builds an algorithm description dictionary for JS bindings.
3418
3419         * crypto/CryptoKey.cpp: Added.
3420         (WebCore::CryptoKey::~CryptoKey):
3421         (WebCore::CryptoKey::buildAlgorithmDescription):
3422         * crypto/CryptoKey.h: Added.
3423         Added an almost empty implementation. Some of the functions that are currently
3424         marked as pure virtual will likely be implemented in this base class.
3425
3426 2013-10-24  Commit Queue  <commit-queue@webkit.org>
3427
3428         Unreviewed, rolling out r157916.
3429         http://trac.webkit.org/changeset/157916
3430         https://bugs.webkit.org/show_bug.cgi?id=123274
3431
3432         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
3433         by ap on #webkit).
3434
3435         * rendering/RenderFlexibleBox.cpp:
3436         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
3437         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
3438         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
3439         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
3440         (WebCore::RenderFlexibleBox::layoutBlock):
3441         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
3442         * rendering/RenderFlexibleBox.h:
3443
3444 2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
3445
3446         Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
3447         https://bugs.webkit.org/show_bug.cgi?id=123252
3448
3449         Reviewed by Darin Adler.
3450
3451         Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
3452         the calling convention in C++ is left unspecified. The problem was already fixed in r157219
3453         and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
3454
3455         * dom/ScopedEventQueue.cpp:
3456         (WebCore::ScopedEventQueue::dispatchEvent):
3457