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