RenderElement::m_style should be a Ref.
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-10-28  Andreas Kling  <akling@apple.com>
2
3         RenderElement::m_style should be a Ref.
4         <https://webkit.org/b/123401>
5
6         Added a Ref::replace() so we can Indiana Jones the new style in
7         RenderElement::setStyle() while keeping a handle on the old style
8         for a while longer.
9
10         Reviewed by Antti Koivisto.
11
12 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
13
14         Unreviewed. Fix make distcheck.
15
16         * GNUmakefile.list.am: Remove unexistent file from compilation.
17
18 2013-10-28  Bastien Nocera <hadess@hadess.net>
19
20         Replace 0 timeouts g_timeout_add() by g_idle_add()
21         https://bugs.webkit.org/show_bug.cgi?id=123260
22
23         Reviewed by Carlos Garcia Campos.
24
25         A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
26         without the nagging feeling that the wrong API was used.
27
28         * wtf/gtk/MainThreadGtk.cpp: Use g_idle_add() instead
29         of 0-timer.
30         (WTF::scheduleDispatchFunctionsOnMainThread):
31
32 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
33
34         Re-enable simple line layout for GTK
35         https://bugs.webkit.org/show_bug.cgi?id=123388
36
37         Reviewed by Andreas Kling.
38
39         * wtf/FeatureDefines.h: Enable the 8-bit TextRun support for the GTK port.
40
41 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
42
43         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
44         https://bugs.webkit.org/show_bug.cgi?id=123111
45
46         Reviewed by Timothy Hatcher.
47
48         * wtf/FeatureDefines.h:
49
50 2013-10-25  Jer Noble  <jer.noble@apple.com>
51
52         [WTF] Add a multiplication operator (and a few others) to MediaTime
53         https://bugs.webkit.org/show_bug.cgi?id=123137
54
55         Reviewed by Eric Carlson.
56
57         Add a multiplication operator and an inequality operator to the
58         MediaTime class for use by MSE.
59
60         * wtf/MediaTime.cpp:
61         (WTF::signum): Moved to top of file.
62         (WTF::MediaTime::operator*): Added.
63         (WTF::MediaTime::operator!=): Added.
64         * wtf/MediaTime.h:
65         (WTF::operator*): Added non-class version of operator*.
66
67 2013-10-24  Jer Noble  <jer.noble@apple.com>
68
69         [Mac] Add helper methods to convert CMTime <--> MediaTime
70         https://bugs.webkit.org/show_bug.cgi?id=123285
71
72         Reviewed by Eric Carlson.
73
74         Add a #ifdef header_h protector.
75
76         * wtf/MediaTime.h:
77
78 2013-10-24  Mark Rowe  <mrowe@apple.com>
79
80         Remove references to OS X 10.7 from Xcode configuration settings.
81
82         Now that we're not building for OS X 10.7 they're no longer needed.
83
84         Reviewed by Anders Carlsson.
85
86         * Configurations/Base.xcconfig:
87         * Configurations/DebugRelease.xcconfig:
88
89 2013-10-24  Mark Rowe  <mrowe@apple.com>
90
91         <rdar://problem/15312643> Prepare for the mysterious future.
92
93         Reviewed by David Kilzer.
94
95         * Configurations/Base.xcconfig:
96         * Configurations/DebugRelease.xcconfig:
97
98 2013-10-24  Commit Queue  <commit-queue@webkit.org>
99
100         Unreviewed, rolling out r157931.
101         http://trac.webkit.org/changeset/157931
102         https://bugs.webkit.org/show_bug.cgi?id=123284
103
104         Seems to have caused a lot of assertions on debug bots
105         (Requested by ap on #webkit).
106
107         * wtf/text/StringStatics.cpp:
108         (WTF::StringImpl::empty):
109
110 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
111
112         Remove PCRE workaround.
113         https://bugs.webkit.org/show_bug.cgi?id=123265
114
115         Reviewed by Darin Adler.
116
117         * wtf/text/StringStatics.cpp:
118         (WTF::StringImpl::empty):
119
120 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
121
122         Remove Clang workaround.
123         https://bugs.webkit.org/show_bug.cgi?id=123262
124
125         Reviewed by Anders Carlsson.
126
127         * wtf/CheckedArithmetic.h:
128         (WTF::Checked::Checked):
129
130 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
131
132         [EFL] Build break with latest EFL 1.8 libraries.
133         https://bugs.webkit.org/show_bug.cgi?id=123245
134
135         Reviewed by Gyuyoung Kim.
136
137         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
138         Eo typedef and splitted header files which contain version macro.
139
140         * wtf/OwnPtrCommon.h: Changed Eo typedef.
141         * wtf/efl/RefPtrEfl.h: Ditto.
142
143 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
144
145         [GObject bindings] Make EventTarget interface introspectable
146         https://bugs.webkit.org/show_bug.cgi?id=77835
147
148         Reviewed by Gustavo Noronha Silva.
149
150         Add support for use GRefPtr with GClosure.
151
152         * wtf/gobject/GRefPtr.cpp:
153         (WTF::refGPtr):
154         (WTF::derefGPtr):
155         * wtf/gobject/GRefPtr.h:
156         * wtf/gobject/GTypedefs.h:
157
158 2013-10-23  Anders Carlsson  <andersca@apple.com>
159
160         Remove USE(LOCKFREE_THREADSAFEREFCOUNTED)
161         https://bugs.webkit.org/show_bug.cgi?id=123228
162
163         Reviewed by Geoffrey Garen.
164
165         All ports support USE(LOCKFREE_THREADSAFEREFCOUNTED) now and taking a lock on every ref/deref seems bad.
166
167         * wtf/Atomics.h:
168         * wtf/ThreadSafeRefCounted.h:
169         (WTF::ThreadSafeRefCountedBase::ref):
170         (WTF::ThreadSafeRefCountedBase::refCount):
171         (WTF::ThreadSafeRefCountedBase::derefBase):
172
173 2013-10-23  Anders Carlsson  <andersca@apple.com>
174
175         Remove HAVE_XPC
176         https://bugs.webkit.org/show_bug.cgi?id=123226
177
178         Reviewed by Dan Bernstein.
179
180         HAVE_XPC has been true on Mac since Lion, so remove it.
181
182         * wtf/Platform.h:
183
184 2013-10-23  Andreas Kling  <akling@apple.com>
185
186         Make more StringImpl construction functions return PassRef.
187         <https://webkit.org/b/123203>
188
189         Knock out a couple more of the StringImpl construction helpers that
190         always return a non-null StringImpl.
191
192         Reviewed by Antti Koivisto.
193
194 2013-10-22  Filip Pizlo  <fpizlo@apple.com>
195
196         FTL should be able to do some simple inline caches using LLVM patchpoints
197         https://bugs.webkit.org/show_bug.cgi?id=123164
198
199         Reviewed by Mark Hahnenberg.
200         
201         This needed some better bitvector support, like merging (|=), excluding (&=~),
202         hashing, and bit counting.
203
204         * wtf/BitVector.cpp:
205         (WTF::BitVector::setSlow):
206         (WTF::BitVector::excludeSlow):
207         (WTF::BitVector::bitCountSlow):
208         (WTF::BitVector::equalsSlowCase):
209         (WTF::BitVector::hashSlowCase):
210         (WTF::BitVector::dump):
211         * wtf/BitVector.h:
212         (WTF::BitVector::merge):
213         (WTF::BitVector::exclude):
214         (WTF::BitVector::bitCount):
215         (WTF::BitVector::BitVector):
216         (WTF::BitVector::isEmptyValue):
217         (WTF::BitVector::isDeletedValue):
218         (WTF::BitVector::isEmptyOrDeletedValue):
219         (WTF::BitVector::operator==):
220         (WTF::BitVector::hash):
221         (WTF::BitVectorHash::hash):
222         (WTF::BitVectorHash::equal):
223         * wtf/HashTraits.h:
224         (WTF::CustomHashTraits::constructDeletedValue):
225         (WTF::CustomHashTraits::isDeletedValue):
226         (WTF::CustomHashTraits::emptyValue):
227         (WTF::CustomHashTraits::isEmptyValue):
228         * wtf/StdLibExtras.h:
229         (WTF::bitCount):
230
231 2013-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
232
233         Clean-up in Atomics.h
234         https://bugs.webkit.org/show_bug.cgi?id=123207
235
236         Reviewed by Anders Carlsson.
237
238         Atomics.h has two confusing and bit-rotted ifdefs with comments.
239
240         The first about CPU(SPARC64) was rendered obsolete when we switched
241         from __exchange_and_add to __sync_add_and_fetch.
242
243         The second was caused by a wrong definition that apparently only
244         caused trouble on GCC.
245
246         * wtf/Atomics.h:
247
248 2013-10-22  Andreas Kling  <akling@apple.com>
249
250         StringImpl::lower() should return a PassRef.
251         <https://webkit.org/b/123190>
252
253         Test the waters and hack enough of StringImpl to be able to return
254         a PassRef<StringImpl> from lower().
255
256         Also gave String a constructor that takes a PassRef<StringImpl>.
257
258         Reviewed by Antti Koivisto.
259
260 2013-10-22  Commit Queue  <commit-queue@webkit.org>
261
262         Unreviewed, rolling out r157835.
263         http://trac.webkit.org/changeset/157835
264         https://bugs.webkit.org/show_bug.cgi?id=123192
265
266         broke 32-bit builds (Requested by smfr on #webkit).
267
268         * wtf/MediaTime.cpp:
269         (WTF::signum):
270         * wtf/MediaTime.h:
271
272 2013-10-22  Jer Noble  <jer.noble@apple.com>
273
274         [WTF] Add a multiplication operator (and a few others) to MediaTime
275         https://bugs.webkit.org/show_bug.cgi?id=123137
276
277         Reviewed by Eric Carlson.
278
279         Add a multiplication operator and an inequality operator to the
280         MediaTime class for use by MSE.
281
282         * wtf/MediaTime.cpp:
283         (WTF::signum): Moved to top of file.
284         (WTF::MediaTime::operator*): Added.
285         (WTF::MediaTime::operator!=): Added.
286         * wtf/MediaTime.h:
287         (WTF::operator*): Added non-class version of operator*.
288
289 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
290
291         Make TYPE_CASTS_BASE more flexible
292         https://bugs.webkit.org/show_bug.cgi?id=122951
293
294         Reviewed by Andreas Kling.
295
296         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
297         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
298         This patch modifies TYPE_CASTS_BASE which can support other type casts.
299
300         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
301
302         * wtf/Assertions.h:
303
304 2013-10-20  Filip Pizlo  <fpizlo@apple.com>
305
306         StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries
307         https://bugs.webkit.org/show_bug.cgi?id=123076
308
309         Reviewed by Sam Weinig.
310         
311         Teach BitVector how to efficiently merge (i.e. bitvector |=).
312
313         * wtf/BitVector.cpp:
314         (WTF::BitVector::mergeSlow):
315         * wtf/BitVector.h:
316         (WTF::BitVector::merge):
317         (WTF::BitVector::cleanseInlineBits):
318
319 2013-10-19  Jer Noble  <jer.noble@apple.com>
320
321         Unreviewed roll out of r157695; broke Mac builds.
322
323         * wtf/FeatureDefines.h:
324
325 2013-10-07  Jer Noble  <jer.noble@apple.com>
326
327         [MSE] [Mac] Enable MediaSource on the Mac
328         https://bugs.webkit.org/show_bug.cgi?id=122484
329
330         Reviewed by Darin Adler.
331
332         Enable ENABLE_MEDIA_SOURCE.
333
334         * wtf/FeatureDefines.h:
335
336 2013-10-19  Andreas Kling  <akling@apple.com>
337
338         RefPtr::releaseNonNull() incorrectly increments the refcount.
339         <https://webkit.org/b/123063>
340
341         Make releaseNonNull() use adoptRef(T&), mirroring release().
342
343         Reviewed by Anders Carlsson.
344
345 2013-10-18  Andreas Kling  <akling@apple.com>
346
347         Start passing RenderStyle around with PassRef.
348         <https://webkit.org/b/123051>
349
350         Added some new PassRef tricks to make this patch possible.
351
352         Reviewed by Darin Adler.
353
354         * wtf/PassRef.h:
355         (WTF::PassRef::get):
356
357             Added a get() helper to facilitate writing functions that
358             construct a new object and call some functions on it before
359             returning it.
360
361         (WTF::PassRef::dropRef):
362
363             This will deref() the referenced object and mark the PassRef
364             as "passed." This is used in code paths where the PassRef is
365             going to go out of scope with nobody to take it over.
366
367         (WTF::PassRef::leakRef):
368
369             Renamed takeReference() to leakRef() and made it public so
370             we don't have to awkwardly sink the PassRef into a Ref for
371             e.g static locals.
372
373         * wtf/RefPtr.h:
374         (WTF::RefPtr::releaseNonNull):
375
376             Added RefPtr::releaseNonNull() for a convenient way of creating
377             a PassRef<T> from a RefPtr<T>. This function may only be called
378             if the RefPtr is known to be non-null.
379
380 2013-10-18  Filip Pizlo  <fpizlo@apple.com>
381
382         A CodeBlock's StructureStubInfos shouldn't be in a Vector that we search using code origins and machine code PCs
383         https://bugs.webkit.org/show_bug.cgi?id=122940
384
385         Reviewed by Oliver Hunt.
386
387         * GNUmakefile.list.am:
388         * WTF.vcxproj/WTF.vcxproj:
389         * WTF.xcodeproj/project.pbxproj:
390         * wtf/BagToHashMap.h: Added.
391         (WTF::toHashMap):
392         * wtf/CMakeLists.txt:
393
394 2013-10-18  Anders Carlsson  <andersca@apple.com>
395
396         Remove spaces between template angle brackets
397         https://bugs.webkit.org/show_bug.cgi?id=123040
398
399         Reviewed by Andreas Kling.
400
401         * wtf/AVLTree.h:
402         * wtf/CheckedArithmetic.h:
403         * wtf/Compression.h:
404         * wtf/Functional.h:
405         (WTF::R):
406         * wtf/HashFunctions.h:
407         * wtf/HashIterators.h:
408         * wtf/HashSet.h:
409         (WTF::::contains):
410         * wtf/ListHashSet.h:
411         (WTF::::contains):
412         * wtf/RefCountedLeakCounter.cpp:
413         * wtf/RetainPtr.h:
414         * wtf/SentinelLinkedList.h:
415         (WTF::::remove):
416         * wtf/SizeLimits.cpp:
417         * wtf/StreamBuffer.h:
418         * wtf/Vector.h:
419         * wtf/VectorTraits.h:
420         * wtf/WeakPtr.h:
421         (WTF::WeakReference::create):
422         (WTF::WeakReference::createUnbound):
423         (WTF::WeakPtr::WeakPtr):
424         (WTF::WeakPtrFactory::WeakPtrFactory):
425         * wtf/text/AtomicString.cpp:
426         (WTF::AtomicString::add):
427         (WTF::findString):
428         * wtf/text/StringConcatenate.h:
429         * wtf/text/StringImpl.h:
430         * wtf/text/StringOperators.h:
431         (WTF::operator+):
432
433 2013-10-18  Brendan Long  <b.long@cablelabs.com>
434
435         [GStreamer][GTK] Add GRefPtr::outPtr()
436         https://bugs.webkit.org/show_bug.cgi?id=122996
437
438         Reviewed by Philippe Normand.
439
440         * wtf/gobject/GRefPtr.h:
441         (WTF::GRefPtr::outPtr): Added.
442
443 2013-10-17  Geoffrey Garen  <ggaren@apple.com>
444
445         Tidied up the Vector<T> move constructor
446         https://bugs.webkit.org/show_bug.cgi?id=122998
447
448         Reviewed by Anders Carlsson.
449
450         * wtf/Vector.h:
451         (WTF::::Vector): Don't call swap() "weird". It's the way most std types
452         implement move constructors.
453
454         Do inline this function, so the compiler can optimize away a logical
455         move into a physical no-op.
456
457 2013-10-16  Filip Pizlo  <fpizlo@apple.com>
458
459         Introduce WTF::Bag and start using it for InlineCallFrameSet
460         https://bugs.webkit.org/show_bug.cgi?id=122941
461
462         Reviewed by Geoffrey Garen.
463         
464         Introduce WTF::Bag, which is basically an allocation pool. No POD restrictions. Does one
465         malloc per entry. No need to shrink afterwards.
466
467         * GNUmakefile.list.am:
468         * WTF.vcxproj/WTF.vcxproj:
469         * WTF.xcodeproj/project.pbxproj:
470         * wtf/Bag.h: Added.
471         (WTF::Bag::Bag):
472         (WTF::Bag::~Bag):
473         (WTF::Bag::add):
474         (WTF::Bag::iterator::iterator):
475         (WTF::Bag::iterator::operator!):
476         (WTF::Bag::iterator::operator*):
477         (WTF::Bag::iterator::operator++):
478         (WTF::Bag::iterator::operator==):
479         (WTF::Bag::begin):
480         (WTF::Bag::end):
481         (WTF::Bag::isEmpty):
482         * wtf/CMakeLists.txt:
483
484 2013-10-17  Andreas Kling  <akling@apple.com>
485
486         Make it possible to assign a PassRef to a RefPtr.
487         <https://webkit.org/b/122943>
488
489         We have to use std::move when constructing a RefPtr from a PassRef
490         since there is no copy constructor for the latter.
491
492         Reviewed by Antti Koivisto.
493
494 2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
495
496         Unreviewed build fix attempt on EFL port after r157520 and r157523
497
498         * wtf/PassRef.h: includes <utility>
499
500 2013-10-16  Darin Adler  <darin@apple.com>
501
502         Add PassRef and createRefCounted so we can improve creation of RefCounted objects
503         https://bugs.webkit.org/show_bug.cgi?id=122904
504
505         Reviewed by Anders Carlsson.
506
507         * GNUmakefile.list.am: Added PassRef.h.
508         * WTF.vcxproj/WTF.vcxproj: Ditto.
509         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
510         * WTF.xcodeproj/project.pbxproj: Ditto.
511         * wtf/CMakeLists.txt: Ditto.
512
513         * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
514         the style-checking script expects.
515
516         * wtf/PassRef.h: Added. Includes the createRefCounted function template, which
517         is analogous to make_unique, but is for reference counted objects, and also
518         assumes that new will never return null. Also includes an overload of adoptRef
519         that takes a reference rather than a pointer.
520
521         * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
522         Got rid of declarations that duplicate ones in there.
523         (WTF::refIfNotNull): Use nullptr.
524         (WTF::derefIfNotNull): Use nullptr.
525         (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
526         (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
527         (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
528         (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
529         of an unused boolean.
530         (WTF::PassRefPtr::leakRef): Use nullptr.
531         (WTF::adoptRef): Use the adopt tag.
532
533         * wtf/Ref.h: Use Noncopyable instead of rolling our own.
534         (WTF::Ref::Ref): Add an overload that takes a PassRef.
535         (WTF::Ref::operator=): Ditto.
536
537         * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
538         (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
539         (WTF::RefPtr::release): Use nullptr.
540         (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
541         (WTF::RefPtr::operator=): Added overload that takes a PassRef.
542         (WTF::RefPtr::clear): Use nullptr.
543
544         * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
545         reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
546         were missing before.
547
548 2013-10-15  Dean Jackson  <dino@apple.com>
549
550         Add ENABLE_WEB_ANIMATIONS flag
551         https://bugs.webkit.org/show_bug.cgi?id=122871
552
553         Reviewed by Tim Horton.
554
555         Eventually might be http://dev.w3.org/fxtf/web-animations/
556         but this is just engine-internal work at the moment.
557
558         * wtf/FeatureDefines.h:
559
560 2013-10-15  Daniel Bates  <dabates@apple.com>
561
562         [iOS] Upstream JavaScriptCore support for ARM64
563         https://bugs.webkit.org/show_bug.cgi?id=122762
564
565         Reviewed by Oliver Hunt.
566
567         * Configurations/Base.xcconfig:
568         * wtf/Atomics.h:
569         (WTF::weakCompareAndSwap):
570         (WTF::armV7_dmb):
571         * wtf/FastMalloc.cpp:
572         * wtf/Platform.h:
573         * wtf/dtoa.cpp:
574         * wtf/dtoa/utils.h:
575         * wtf/text/ASCIIFastPath.h:
576         (WTF::copyLCharsFromUCharSource):
577         * wtf/text/StringImpl.h:
578
579 2013-10-14  Zan Dobersek  <zdobersek@igalia.com>
580
581         Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects
582         https://bugs.webkit.org/show_bug.cgi?id=122745
583
584         Reviewed by Anders Carlsson.
585
586         * wtf/PassOwnPtr.h:
587         (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type,
588         the static assertion should note that adoptRef should be used instead.
589
590 2013-10-14  Anders Carlsson  <andersca@apple.com>
591
592         WebKit Nightlies broken by r157374
593         https://bugs.webkit.org/show_bug.cgi?id=122736
594
595         Reviewed by Andreas Kling.
596
597         Add back a callOnMainThread overload that Safari is using.
598
599         * wtf/MainThread.cpp:
600         (WTF::callOnMainThread):
601         * wtf/MainThread.h:
602
603 2013-10-13  Darin Adler  <darin@apple.com>
604
605         Deprecate or remove deleteAllValues functions; there are only a few call sites left
606         https://bugs.webkit.org/show_bug.cgi?id=122738
607
608         Reviewed by Anders Carlsson.
609
610         * wtf/Deque.h: Deleted deleteAllValues.
611         * wtf/HashMap.h: Ditto.
612         * wtf/HashSet.h: Ditto.
613         * wtf/ListHashSet.h: Ditto.
614         * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.
615
616 == Rolled over to ChangeLog-2013-10-13 ==