12014-09-13 Babak Shafiei <bshafiei@apple.com> 2 3 Merge r173595 4 5 2014-09-12 Tim Horton <timothy_horton@apple.com> 6 7 Swiping back from a Twitter image to Twitter flashes to the wrong position 8 https://bugs.webkit.org/show_bug.cgi?id=136798 9 <rdar://problem/18324338> 10 11 Reviewed by Darin Adler and Sam Weinig. 12 13 * wtf/RunLoop.h: 14 (WTF::RunLoop::TimerBase::startRepeating): 15 Add a std::chrono veresion of RunLoop::TimerBase::startRepeating. 16 172014-08-28 Roger Fong <roger_fong@apple.com> 18 19 Unreviewed build fix. Specify which version of cygwin python to use. 20 21 * WTF.vcxproj/WTFGenerated.make: 22 232014-08-28 Lucas Forschler <lforschler@apple.com> 24 25 Merge r173036 26 27 2014-08-27 Mark Rowe <mrowe@apple.com> 28 29 JavaScriptCore is missing debug info for WTF because libWTF.a is stripped. 30 <https://webkit.org/b/136320> / <rdar://problem/18148776> 31 32 Reviewed by Dan Bernstein. 33 34 * Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target 35 that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore 36 and end up in its dSYM file. 37 382014-08-15 Matthew Hanson <matthew_hanson@apple.com> 39 40 Merge r172019. <rdar://problem/18029617> 41 42 2014-08-04 Matthew Hanson <matthew_hanson@apple.com> 43 44 [Win] Temporarily turn off WebGL. 45 https://bugs.webkit.org/show_bug.cgi?id=135543 46 47 Landed on behalf of Brent Fulgham. 48 49 * wtf/FeatureDefines.h: Turn off WebGL feature. 50 512014-07-30 Lucas Forschler <lforschler@apple.com> 52 53 Merge r171825 54 55 2014-07-29 Brent Fulgham <bfulgham@apple.com> 56 57 [Win] Modify version numbering scheme to support 5-tuple versions 58 https://bugs.webkit.org/show_bug.cgi?id=135400 59 <rdar://problem/17849033> 60 61 Reviewed by David Kilzer. 62 63 * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script 64 to version WTF.dll. 65 * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the 66 appropriate version resource during builds. 67 682014-07-17 Dean Jackson <dino@apple.com> 69 70 <rdar://problem/17675068> Disable some features on this branch. 71 72 Reviewed originally by Simon Fraser. 73 74 Disable: 75 - CSS_EXCLUSIONS 76 - CSS_GRID_LAYOUT 77 - INPUT_TYPE_COLOR 78 - INPUT_TYPE_COLOR_POPUP 79 - CANVAS_PATH 80 - CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED 81 - INDIE_UI 82 - SHARED_WORKERS 83 - NAVIGATOR_HWCONCURRENCY 84 - GAMEPAD 85 - PICTURE_SIZES 86 - CSS3_CONDITIONAL_RULES 87 - WILL_REVEAL_EDGE_EVENTS 88 89 * Configurations/FeatureDefines.xcconfig: 90 912014-07-15 Commit Queue <commit-queue@webkit.org> 92 93 Unreviewed, rolling out r171107. 94 https://bugs.webkit.org/show_bug.cgi?id=134959 95 96 This was not the problem! (Requested by kling on #webkit). 97 98 Reverted changeset: 99 100 "Revert: Run the FastMalloc scavenger thread on iOS as well." 101 https://bugs.webkit.org/show_bug.cgi?id=134927 102 http://trac.webkit.org/changeset/171107 103 1042014-07-15 Andreas Kling <akling@apple.com> 105 106 Revert: Run the FastMalloc scavenger thread on iOS as well. 107 <https://webkit.org/b/134927> 108 <rdar://problem/17485079> 109 110 This appears to be the cause of some elusive crashes, and since I don't 111 have a way to reproduce them, let's just go back to not running the 112 scavenger thread on iOS. 113 114 Reviewed by Antti Koivisto. 115 116 * wtf/FastMalloc.cpp: 117 1182014-07-13 Filip Pizlo <fpizlo@apple.com> 119 120 HashMap should have removeIf() 121 https://bugs.webkit.org/show_bug.cgi?id=134870 122 123 Reviewed by Sam Weinig. 124 125 Expose a new HashMap method, called removeIf(), which allows you to do an efficient 126 pass over the map and remove a bunch of things at once. This is used by DFG GCSE as 127 part of https://bugs.webkit.org/show_bug.cgi?id=134677. 128 129 * wtf/HashMap.h: 130 (WTF::X>::removeIf): 131 * wtf/HashTable.h: 132 (WTF::KeyTraits>::removeIf): 133 1342014-07-11 peavo@outlook.com <peavo@outlook.com> 135 136 [Win] Enable DFG JIT. 137 https://bugs.webkit.org/show_bug.cgi?id=123615 138 139 Reviewed by Mark Lam. 140 141 * wtf/Platform.h: 142 1432014-07-11 Commit Queue <commit-queue@webkit.org> 144 145 Unreviewed, rolling out r170995. 146 https://bugs.webkit.org/show_bug.cgi?id=134831 147 148 Causing odd crashes in debug builds (Requested by zdobersek on 149 #webkit). 150 151 Reverted changeset: 152 153 "[WTF] Add the move constructor, move assignment operator for 154 HashTable" 155 https://bugs.webkit.org/show_bug.cgi?id=130772 156 http://trac.webkit.org/changeset/170995 157 1582014-07-09 Zan Dobersek <zdobersek@igalia.com> 159 160 [WTF] Add the move constructor, move assignment operator for HashTable 161 https://bugs.webkit.org/show_bug.cgi?id=130772 162 163 Reviewed by Darin Adler. 164 165 HashTable has both copy constructor and copy assignment operator, meaning that the move constructor 166 and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary 167 copies when moves can be performed. 168 169 * wtf/HashTable.h: 170 (WTF::KeyTraits>::HashTable): 171 1722014-07-10 Alex Christensen <achristensen@webkit.org> 173 174 Enable same features on all Windows ports. 175 https://bugs.webkit.org/show_bug.cgi?id=134715 176 177 Reviewed by Brent Fulgham. 178 179 * wtf/Platform.h: 180 Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo. 181 1822014-07-09 Brent Fulgham <bfulgham@apple.com> 183 184 [Win] Unreviewed build fix after r170930. 185 186 * WTF.vcxproj/copy-files.cmd: Include cf files in 187 post-build copy operation. 188 1892014-07-09 Brent Fulgham <bfulgham@apple.com> 190 191 [Win] Remove uses of 'bash' in build system 192 https://bugs.webkit.org/show_bug.cgi?id=134782 193 <rdar://problem/17615533> 194 195 Reviewed by Dean Jackson. 196 197 Remove uses of 'bash' by replacing Windows-specific bash scripts 198 with Perl equivalents. 199 200 * WTF.vcxproj/WTFGenerated.make: 201 * WTF.vcxproj/WTFGenerated.vcxproj: 202 * WTF.vcxproj/WTFGenerated.vcxproj.filters: 203 * WTF.vcxproj/WTFPreBuild.cmd: 204 * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh. 205 * WTF.vcxproj/build-generated-files.sh: Removed. 206 2072014-07-09 Brent Fulgham <bfulgham@apple.com> 208 209 [Win] Remove use of 'grep' in build steps 210 https://bugs.webkit.org/show_bug.cgi?id=134770 211 <rdar://problem/17608783> 212 213 Reviewed by Tim Horton. 214 215 Replace uses of the grep command in Windows builds with the equivalent 216 Perl program. 217 218 * WTF.vcxproj/WTFPreBuild.cmd: 219 2202014-07-07 Zan Dobersek <zdobersek@igalia.com> 221 222 Enable ARMv7 disassembler for the GTK port 223 https://bugs.webkit.org/show_bug.cgi?id=134676 224 225 Reviewed by Benjamin Poulain. 226 227 * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when 228 targeting the ARMv7 architecture. 229 2302014-07-06 Yoav Weiss <yoav@yoav.ws> 231 232 Turn on img@sizes compile flag 233 https://bugs.webkit.org/show_bug.cgi?id=134634 234 235 Reviewed by Benjamin Poulain. 236 237 * wtf/FeatureDefines.h: Added compile flag definition. 238 2392014-07-03 Gyuyoung Kim <gyuyoung.kim@samsung.com> 240 241 Unreivewed, fix build break on EFL and GTK since r170767. 242 243 * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed. 244 2452014-07-03 Daniel Bates <dabates@apple.com> 246 247 Add WTF::move() 248 https://bugs.webkit.org/show_bug.cgi?id=134500 249 250 Reviewed by Darin Adler. 251 252 Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson. 253 254 Implement WTF::move(), a replacement for std::move(). WTF::move() is less error 255 prone than std::move() as it compile asserts that its argument is a non-const 256 lvalue reference before ultimately casting it to a rvalue reference (via std::move). 257 258 * wtf/Deque.h: Substitute WTF::move() for std::move(). 259 * wtf/HashMap.h: Ditto. 260 * wtf/HashSet.h: Ditto. 261 * wtf/HashTable.h: Ditto. 262 * wtf/IteratorAdaptors.h: Ditto. 263 * wtf/IteratorRange.h: Ditto. 264 * wtf/ListHashSet.h: Ditto. 265 * wtf/MainThread.cpp: Ditto. 266 [...] 267 * wtf/StdLibExtras.h: 268 (WTF::move): Added. 269 [...] 270 2712014-07-03 Anders Carlsson <andersca@apple.com> 272 273 Get rid of Encoder.h and Decoder.h from WTF 274 https://bugs.webkit.org/show_bug.cgi?id=134600 275 276 Reviewed by Darin Adler. 277 278 * WTF.vcxproj/WTF.vcxproj: 279 * WTF.vcxproj/WTF.vcxproj.filters: 280 * WTF.xcodeproj/project.pbxproj: 281 * wtf/Decoder.h: Removed. 282 * wtf/Encoder.h: Removed. 283 2842014-07-03 Ryuan Choi <ryuan.choi@samsung.com> 285 286 Broken build with build-webkit --no-video 287 https://bugs.webkit.org/show_bug.cgi?id=134587 288 289 Reviewed by Darin Adler. 290 291 MEDIA_CONTROLS_SCRIPT requires VIDEO enabled. 292 293 * wtf/FeatureDefines.h: Added error message for dependency failure. 294 2952014-07-02 Enrica Casucci <enrica@apple.com> 296 297 iOS build fix after http://trac.webkit.org/changeset/170697. 298 299 Unreviewed. 300 301 * wtf/Deque.h: 302 3032014-07-02 Dan Bernstein <mitz@apple.com> 304 305 Remove some code only needed for versions of Safari that are no longer supported 306 https://bugs.webkit.org/show_bug.cgi?id=134537 307 308 Reviewed by Anders Carlsson. 309 310 * wtf/Assertions.cpp: 311 * wtf/Assertions.h: 312 3132014-07-01 Alex Christensen <achristensen@webkit.org> 314 315 Reduce dynamic memory allocation in css jit. 316 https://bugs.webkit.org/show_bug.cgi?id=134416 317 318 Reviewed by Benjamin Poulain. 319 320 * wtf/Deque.h: 321 Added inlineCapacity optional template parameter. 322 3232014-06-30 Commit Queue <commit-queue@webkit.org> 324 325 Unreviewed, rolling out r170605. 326 https://bugs.webkit.org/show_bug.cgi?id=134484 327 328 The changes cause crashes on ARM64 (Requested by benjaminp on 329 #webkit). 330 331 Reverted changeset: 332 333 "Reduce dynamic memory allocation in css jit." 334 https://bugs.webkit.org/show_bug.cgi?id=134416 335 http://trac.webkit.org/changeset/170605 336 3372014-06-30 Daniel Bates <dabates@apple.com> 338 339 Make TransformIterator::TransformIterator() take rvalue references 340 https://bugs.webkit.org/show_bug.cgi?id=134468 341 342 Reviewed by Darin Adler. 343 344 It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references 345 as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the 346 members of TransformIterator. 347 348 * wtf/IteratorAdaptors.h: 349 (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references. 350 (WTF::makeTransformIterator): Substitute std::move() for std::forward(). 351 3522014-06-30 Alex Christensen <achristensen@webkit.org> 353 354 Reduce dynamic memory allocation in css jit. 355 https://bugs.webkit.org/show_bug.cgi?id=134416 356 357 Reviewed by Benjamin Poulain. 358 359 * wtf/Deque.h: 360 Added inlineCapacity optional template parameter. 361 3622014-06-30 Anders Carlsson <andersca@apple.com> 363 364 Add code for encoding legacy session history entries 365 https://bugs.webkit.org/show_bug.cgi?id=134452 366 367 Reviewed by Andreas Kling. 368 369 * wtf/MallocPtr.h: 370 (WTF::MallocPtr::malloc): 371 (WTF::MallocPtr::realloc): 372 3732014-06-27 Andreas Kling <akling@apple.com> 374 375 [ARMv7] Skip one particularly expensive fastFree() alignment check. 376 <https://webkit.org/b/134402> 377 378 The size class alignment check in fastFree() was crazy expensive on ARMv7 379 due to its use of modulo. Disabling it shaves 470ms off of PLT main thread 380 time in the web process. 381 382 Note that this was very hard to identify in profiles due to TCO. 383 384 Reviewed by Gavin Barraclough. 385 386 * wtf/FastMalloc.cpp: 387 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 388 3892014-06-26 Andreas Kling <akling@apple.com> 390 391 Bump FastMalloc thread cache max size to 1MB on iOS. 392 <https://webkit.org/b/134365> 393 394 The previous limit (512kB) comes from the old days of very-low-memory 395 devices, and we can now afford to spend another 512kB here. 396 Note that we already have a mechanism to purge FastMalloc caches on 397 system memory pressure. 398 399 Looks like a ~400ms progression on PLT. 400 401 Reviewed by Geoff Garen. 402 403 * wtf/FastMalloc.cpp: 404 4052014-06-26 Laszlo Gombos <l.gombos@samsung.com> 406 407 Define TARGET_OS_IPHONE to 0 for non-darwin ports 408 https://bugs.webkit.org/show_bug.cgi?id=134347 409 410 Reviewed by Darin Adler. 411 412 A follow-up to r169880 to make it easier to reason about 413 the code. The purpose of this change to allow 414 "#if TARGET_OS_IPHONE" in public header files. 415 416 * wtf/Platform.h: 417 4182014-06-26 Chris Fleizach <cfleizach@apple.com> 419 420 Add an undo group for each dictated utterance in WebKit 421 https://bugs.webkit.org/show_bug.cgi?id=134086 422 423 Applied review comments from Sam Weinig. 424 425 Move the associated USE #define into Platform.h. 426 427 * wtf/Platform.h: 428 4292014-06-25 Geoffrey Garen <ggaren@apple.com> 430 431 Unreviewed, rolling out r166876. 432 433 Caused some ECMA test262 failures 434 435 Reverted changeset: 436 437 "Date object needs to check for ES5 15.9.1.14 TimeClip limit." 438 https://bugs.webkit.org/show_bug.cgi?id=131248 439 http://trac.webkit.org/changeset/166876 440 4412014-06-25 peavo@outlook.com <peavo@outlook.com> 442 443 [Win64] ASM LLINT is not enabled. 444 https://bugs.webkit.org/show_bug.cgi?id=130638 445 446 Reviewed by Mark Lam. 447 448 * wtf/Platform.h: Enable LLINT and JIT for Win64. 449 4502014-06-25 Laszlo Gombos <l.gombos@samsung.com> 451 452 Remove build guard for progress element 453 https://bugs.webkit.org/show_bug.cgi?id=134292 454 455 Reviewed by Benjamin Poulain. 456 457 The build flag is no longer needed as it is always on. 458 459 * wtf/FeatureDefines.h: 460 4612014-06-24 Andreas Kling <akling@apple.com> 462 463 Run the FastMalloc scavenger thread on iOS as well. 464 <https://webkit.org/b/134287> 465 <rdar://problem/17446198> 466 467 Reviewed by Gavin Barraclough. 468 469 * wtf/FastMalloc.cpp: 470 4712014-06-24 Anders Carlsson <andersca@apple.com> 472 473 Add PageState to HistoryItem conversion code 474 https://bugs.webkit.org/show_bug.cgi?id=134259 475 476 Reviewed by Andreas Kling. 477 478 * wtf/Optional.h: 479 (WTF::Optional::valueOr): 480 4812014-06-24 László Langó <llango.u-szeged@partner.samsung.com> 482 483 [JavaScriptCore] Enable concurrent JIT on EFL. 484 https://bugs.webkit.org/show_bug.cgi?id=134242 485 486 Reviewed by Csaba Osztrogonác. 487 488 * wtf/Platform.h: 489 4902014-06-23 Ryuan Choi <ryuan.choi@samsung.com> 491 492 [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl 493 https://bugs.webkit.org/show_bug.cgi?id=134236 494 495 Reviewed by Gyuyoung Kim. 496 497 Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it. 498 So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity. 499 500 * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list. 501 * wtf/efl/RefPtrEfl.cpp: Removed. 502 * wtf/efl/RefPtrEfl.h: Removed. 503 5042014-06-21 Brady Eidson <beidson@apple.com> 505 506 Gamepad API - Deprecate the existing implementation 507 https://bugs.webkit.org/show_bug.cgi?id=134108 508 509 Reviewed by Timothy Hatcher. 510 511 -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it 512 -Move some implementation files into a "deprecated" subdirectory. 513 514 * wtf/FeatureDefines.h: 515 5162014-06-21 Commit Queue <commit-queue@webkit.org> 517 518 Unreviewed, rolling out r170244. 519 https://bugs.webkit.org/show_bug.cgi?id=134157 520 521 GTK/EFL bindings generator works differently, making this 522 patch not work there. Will fix entire patch after a rollout. 523 (Requested by bradee-oh on #webkit). 524 525 Reverted changeset: 526 527 "Gamepad API - Deprecate the existing implementation" 528 https://bugs.webkit.org/show_bug.cgi?id=134108 529 http://trac.webkit.org/changeset/170244 530 5312014-06-21 Brady Eidson <beidson@apple.com> 532 533 Gamepad API - Deprecate the existing implementation 534 https://bugs.webkit.org/show_bug.cgi?id=134108 535 536 Reviewed by Timothy Hatcher. 537 538 -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it 539 -Add the "Deprecated" suffix to some implementation files 540 541 * wtf/FeatureDefines.h: 542 5432014-06-21 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> 544 545 Removing PAGE_VISIBILITY_API compile guard. 546 https://bugs.webkit.org/show_bug.cgi?id=133844 547 548 Reviewed by Gavin Barraclough. 549 550 * wtf/FeatureDefines.h: 551 5522014-06-20 Anders Carlsson <andersca@apple.com> 553 554 Add encoding and decoding support for WTF::Optional 555 https://bugs.webkit.org/show_bug.cgi?id=134125 556 557 Reviewed by Andreas Kling. 558 559 * wtf/Optional.h: 560 (WTF::Optional::operator=): 561 5622014-06-20 Anders Carlsson <andersca@apple.com> 563 564 Add copy/move constructors and assignment operators to WTF::Optional 565 https://bugs.webkit.org/show_bug.cgi?id=134119 566 567 Reviewed by Andreas Kling. 568 569 * wtf/Optional.h: 570 (WTF::Optional::Optional): 571 (WTF::Optional::operator=): 572 5732014-06-19 Anders Carlsson <andersca@apple.com> 574 575 Add WTF::Optional class 576 https://bugs.webkit.org/show_bug.cgi?id=134083 577 578 Reviewed by Andreas Kling. 579 580 * WTF.xcodeproj/project.pbxproj: 581 * wtf/Optional.h: Added. 582 (WTF::Optional::Optional): 583 (WTF::Optional::~Optional): 584 (WTF::Optional::operator bool): 585 (WTF::Optional::value): 586 5872014-06-19 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> 588 589 Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards 590 https://bugs.webkit.org/show_bug.cgi?id=130389 591 592 Reviewed by Mark Lam. 593 594 Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP) 595 into !ENABLE(JIT) since they are mutually exclusive. 596 597 * wtf/OSAllocatorPosix.cpp: 598 (WTF::OSAllocator::reserveAndCommit): 599 * wtf/Platform.h: 600 6012014-06-18 Anders Carlsson <andersca@apple.com> 602 603 Add CF type cast function templates and use them in KeyedDecoder in WebKit2 604 https://bugs.webkit.org/show_bug.cgi?id=134033 605 606 Reviewed by Sam Weinig. 607 608 * WTF.xcodeproj/project.pbxproj: 609 * wtf/cf/TypeCasts.h: Added. 610 (WTF::dynamic_cf_cast): 611 Returns null if the given CFTypeRef object doesn't have the right type. 612 613 (WTF::checked_cf_cast): 614 ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type. 615 6162014-06-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 617 618 Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN). 619 https://bugs.webkit.org/show_bug.cgi?id=128301 620 621 Reviewed by Daniel Bates. 622 623 Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU(). 624 625 * wtf/text/ASCIIFastPath.h: 626 (WTF::copyLCharsFromUCharSource): 627 6282014-06-17 Andreas Kling <akling@apple.com> 629 630 Web process main thread priority is lower than some network process threads. 631 <https://webkit.org/b/133987> 632 <rdar://problem/17330300> 633 634 Bring all of our threads to the appropriate priority level by opting in to the 635 threading QoS APIs. By marking them "user initiated", they still yield to UI 636 interaction, but take priority over background tasks. 637 638 Reviewed by Maciej Stachowiak. 639 640 * wtf/Platform.h: 641 * wtf/Threading.cpp: 642 (WTF::setCurrentThreadIsUserInitiated): 643 * wtf/Threading.h: 644 * wtf/ThreadingPthreads.cpp: 645 (WTF::createThreadInternal): 646 6472014-06-17 Alex Christensen <achristensen@webkit.org> 648 649 Enable css jit for armv7 on iOS. 650 https://bugs.webkit.org/show_bug.cgi?id=133961 651 <rdar://problem/17310631> 652 653 Reviewed by Andreas Kling. 654 655 * wtf/Platform.h: 656 Enable css jit for ARM thumb on iOS. 657 6582014-06-17 Dan Bernstein <mitz@apple.com> 659 660 String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference 661 https://bugs.webkit.org/show_bug.cgi?id=133968 662 663 Reviewed by Anders Carlsson. 664 665 Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is 666 an rvalue reference that can be moved, rather than copied, into the returned String. 667 668 * wtf/text/WTFString.cpp: 669 (WTF::String::isolatedCopy): 670 * wtf/text/WTFString.h: 671 6722014-06-15 Dan Bernstein <mitz@apple.com> 673 674 iOS build fix after r169995. 675 676 * wtf/RetainPtr.h: 677 6782014-06-15 Anders Carlsson <andersca@apple.com> 679 680 Add an autorelease() member function to RetainPtr 681 https://bugs.webkit.org/show_bug.cgi?id=133929 682 683 Reviewed by Dan Bernstein. 684 685 * wtf/RetainPtr.h: 686 6872014-06-13 Alex Christensen <achristensen@webkit.org> 688 689 Unreviewed disabling css jit on armv7. It's not quite ready yet. 690 691 * wtf/Platform.h: 692 Disable css jit on armv7. 693 6942014-06-13 Alex Christensen <achristensen@webkit.org> 695 696 Enable css jit for armv7 on iOS. 697 https://bugs.webkit.org/show_bug.cgi?id=133890 698 <rdar://problem/17310631> 699 700 Reviewed by Andreas Kling. 701 702 * wtf/Platform.h: 703 Enable css jit for ARM thumb on iOS. 704 7052014-06-13 Mark Hahnenberg <mhahnenberg@apple.com> 706 707 OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit 708 https://bugs.webkit.org/show_bug.cgi?id=133880 709 710 Reviewed by Filip Pizlo. 711 712 * wtf/Bag.h: 713 (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration. 714 7152014-06-12 Gavin Barraclough <barraclough@apple.com> 716 717 Add support for thread/WorkQueue QoS 718 https://bugs.webkit.org/show_bug.cgi?id=130688 719 720 Reviewed by Anders Carlson & Simon Fraser. 721 722 Add the ability to mark threads as UserInteractive. 723 724 * wtf/Threading.cpp: 725 (WTF::setCurrentThreadIsUserInteractive): 726 - added method to set QoS of current thread to UserInteractive. 727 * wtf/Threading.h: 728 - added declaration. 729 7302014-06-12 Alexey Proskuryakov <ap@apple.com> 731 732 Fix Mac after r169880. 733 734 This revision added a C++ comment to Platform.h, which breaks sandbox profile 735 preprocessing. 736 737 Also, I do not believe that this comment was entirely accurate - we've always used 738 this technique with GCC, so there has to be more to it. So, I just removed the comment. 739 740 * wtf/Platform.h: 741 7422014-06-11 Csaba Osztrogonác <ossy@webkit.org> 743 744 [EFL][GTK] Ultimate fix not to have build failures 745 in the future because of "#if TARGET_OS_IPHONE" guards. 746 747 Unreviewed buildfix. 748 749 * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK. 750 7512014-06-11 Ryosuke Niwa <rniwa@webkit.org> 752 753 Turning on DUMP_PROPERTYMAP_STATS causes a build failure 754 https://bugs.webkit.org/show_bug.cgi?id=133673 755 756 Reviewed by Andreas Kling. 757 758 Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code 759 that needs to be enabled in release builds (e.g. for JavaScriptCore). 760 761 * wtf/StdLibExtras.h: 762 7632014-06-09 Benjamin Poulain <bpoulain@apple.com> 764 765 Improve CSSPrimitiveValue::customCSSText for ARMv7 766 https://bugs.webkit.org/show_bug.cgi?id=133597 767 768 Reviewed by Andreas Kling. 769 770 * wtf/RefPtr.h: 771 (WTF::RefPtr<T>::RefPtr): 772 * wtf/text/WTFString.h: 773 (WTF::String::String): 774 7752014-06-05 Yoav Weiss <yoav@yoav.ws> 776 777 Align srcset parser with recent spec changes 778 https://bugs.webkit.org/show_bug.cgi?id=133504 779 780 Reviewed by Darin Adler. 781 782 I've added toInt and toFloat methods to StringView, and exposed 783 charactersToInt so that they can be used by 784 HTMLSrcsetParser.cpp. 785 786 * wtf/text/WTFString.h: 787 * wtf/text/StringView.h: 788 (WTF::StringView::toInt): 789 (WTF::StringView::toFloat): 790 7912014-06-04 Alex Christensen <achristensen@webkit.org> 792 793 Enable WebGL on Windows. 794 https://bugs.webkit.org/show_bug.cgi?id=133503 795 796 Reviewed by Brent Fulgham. 797 798 * wtf/FeatureDefines.h: 799 Enable WebGL for AppleWin and WinCairo ports. 800 8012014-06-01 Jer Noble <jer.noble@apple.com> 802 803 [MSE] Appends of overlapping sample data do not clear existing samples properly. 804 https://bugs.webkit.org/show_bug.cgi?id=133435 805 806 Reviewed by Darin Adler. 807 808 Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes). 809 810 * wtf/MediaTime.cpp: 811 (WTF::MediaTime::dump): 812 * wtf/MediaTime.h: 813 8142014-05-31 Anders Carlsson <andersca@apple.com> 815 816 Add a LazyNeverDestroyed class template and use it 817 https://bugs.webkit.org/show_bug.cgi?id=133425 818 819 Reviewed by Darin Adler. 820 821 LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed 822 by calling construct(). This makes it useful for using inside std::call_once functions. 823 824 * wtf/Forward.h: 825 * wtf/NeverDestroyed.h: 826 (WTF::LazyNeverDestroyed::construct): 827 (WTF::LazyNeverDestroyed::operator T&): 828 (WTF::LazyNeverDestroyed::get): 829 (WTF::LazyNeverDestroyed::asPtr): 830 (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax): 831 * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: 832 (WTF::atomicallyInitializedStaticMutex): 833 * wtf/unicode/icu/CollatorICU.cpp: 834 (WTF::cachedCollatorMutex): 835 8362014-05-29 Alex Christensen <achristensen@webkit.org> 837 838 Enable css jit by default on arm64. 839 https://bugs.webkit.org/show_bug.cgi?id=133246 840 <rdar://problem/17073407> 841 842 Reviewed by Benjamin Poulain. 843 844 * wtf/Platform.h: 845 Added arm64 to list of supported architectures. 846 8472014-05-28 Filip Pizlo <fpizlo@apple.com> 848 849 DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays 850 https://bugs.webkit.org/show_bug.cgi?id=133368 851 852 Reviewed by Mark Lam. 853 854 * wtf/Insertion.h: 855 (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right. 856 8572014-05-27 Jon Lee <jonlee@apple.com> 858 859 Update ENABLE(MEDIA_SOURCE) on Mac 860 https://bugs.webkit.org/show_bug.cgi?id=133141 861 862 Reviewed by Darin Adler. 863 864 * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs. 865 8662014-05-27 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> 867 868 Remove BLOB guards 869 https://bugs.webkit.org/show_bug.cgi?id=132863 870 871 Reviewed by Csaba Osztrogonác. 872 873 * wtf/FeatureDefines.h: 874 8752014-05-27 Gwang Yoon Hwang <yoon@igalia.com> 876 877 [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread. 878 https://bugs.webkit.org/show_bug.cgi?id=133291 879 880 Reviewed by Carlos Garcia Campos. 881 882 GMainLoopSource::schedule[AfterDelay] must be used with the appropriate 883 GMainContext. Because current implementations in RunLoopGtk passes nullptr 884 instead of its runLoopContext when using GMainLoopSource, all of dispatched 885 functions are executed on the main thread regardless of which runloops is used. 886 887 This patch fixes the issue by passing the m_runLoopContext instead the default 888 parameter to the GMainLoopSource::schedule[AfterDelay]. 889 890 * wtf/gtk/RunLoopGtk.cpp: 891 (WTF::RunLoop::wakeUp): 892 (WTF::RunLoop::TimerBase::start): 893 8942014-05-26 Darin Adler <darin@apple.com> 895 896 Class name matching should use ASCII case-insensitive matching, not Unicode case folding 897 https://bugs.webkit.org/show_bug.cgi?id=133292 898 899 Reviewed by Anders Carlsson. 900 901 * wtf/text/AtomicString.cpp: 902 (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these 903 arguments can never be null. 904 (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but 905 slightly uglier way. 906 (WTF::AtomicString::convertToASCIILowercase): Added. 907 * wtf/text/AtomicString.h: Updated for above changes. 908 909 * wtf/text/StringImpl.cpp: 910 (WTF::StringImpl::convertToASCIILowercase): Added. 911 * wtf/text/StringImpl.h: Updated for above. 912 913 * wtf/text/WTFString.cpp: 914 (WTF::String::convertToASCIILowercase): Added. 915 * wtf/text/WTFString.h: Updated for above. 916 9172014-05-22 Zan Dobersek <zdobersek@igalia.com> 918 919 Add the partial specialization for VectorTraits<std::unique_ptr<P>> 920 https://bugs.webkit.org/show_bug.cgi?id=133083 921 922 Reviewed by Andreas Kling. 923 924 * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial 925 specialization for VectorTraits<std::unique_ptr<P>> should exist and should 926 inherit from SimpleClassVector. 927 9282014-05-20 Geoffrey Garen <ggaren@apple.com> 929 930 Rolled out <http://trac.webkit.org/changeset/166184> 931 https://bugs.webkit.org/show_bug.cgi?id=133144 932 933 Reviewed by Gavin Barraclough. 934 935 It caused a performance regression. 936 937 * wtf/FastMalloc.cpp: 938 (WTF::TCMalloc_PageHeap::runScavengerThread): 939 * wtf/Threading.h: 940 * wtf/ThreadingPthreads.cpp: 941 (WTF::createThreadInternal): 942 (WTF::setCurrentThreadQOSUtility): Deleted. 943 * wtf/ThreadingWin.cpp: 944 (WTF::setCurrentThreadQOSUtility): Deleted. 945 9462014-05-20 Jer Noble <jer.noble@apple.com> 947 948 [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread. 949 https://bugs.webkit.org/show_bug.cgi?id=133130 950 951 Reviewed by Geoff Garen. 952 953 Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned 954 up immediately after the end of the function. 955 956 * wtf/mac/MainThreadMac.mm: 957 (WTF::timerFired): 958 9592014-05-18 Rik Cabanier <cabanier@adobe.com> 960 961 support for navigator.hardwareConcurrency 962 https://bugs.webkit.org/show_bug.cgi?id=132588 963 964 Reviewed by Filip Pizlo. 965 966 * wtf/FeatureDefines.h: 967 9682014-05-14 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> 969 970 Remove CSS_STICKY_POSITION guards 971 https://bugs.webkit.org/show_bug.cgi?id=132676 972 973 Reviewed by Simon Fraser. 974 975 * wtf/FeatureDefines.h: 976 9772014-05-13 Simon Fraser <simon.fraser@apple.com> 978 979 [iOS WK2] background-attachment:fixed behaves very poorly 980 https://bugs.webkit.org/show_bug.cgi?id=132881 981 <rdar://problem/16789526> 982 983 Reviewed by Beth Dakin. 984 985 Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument 986 setting now. 987 988 * wtf/FeatureDefines.h: 989 9902014-05-08 Alexey Proskuryakov <ap@apple.com> 991 992 Automatically zip document bundles used via File API 993 https://bugs.webkit.org/show_bug.cgi?id=132713 994 <rdar://problem/13397892> 995 996 Reviewed by Anders Carlsson. 997 998 * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac. 999 10002014-05-07 Filip Pizlo <fpizlo@apple.com> 1001 1002 UNREACHABLE_FOR_PLATFORM() is meant to be a release crash. 1003 1004 Rubber stamped by Mark Hahnenberg.. 1005 1006 * wtf/Assertions.h: 1007 (UNREACHABLE_FOR_PLATFORM): 1008 10092014-05-06 Alberto Garcia <berto@igalia.com> 1010 1011 There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD 1012 https://bugs.webkit.org/show_bug.cgi?id=132542 1013 1014 Reviewed by Michael Saboff. 1015 1016 Use sysconf() to get the number of processor cores. 1017 1018 * wtf/NumberOfCores.cpp: 1019 (WTF::numberOfProcessorCores): 1020 10212014-05-04 Darin Adler <darin@apple.com> 1022 1023 RetainPtr: Use adoptCF function instead of AdoptCF constructor argument 1024 https://bugs.webkit.org/show_bug.cgi?id=80222 1025 1026 Reviewed by Alexey Proskuryakov. 1027 1028 All the clients are gone, so we can now remove AdoptCF and AdoptNS. 1029 1030 * wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF 1031 and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use 1032 a private constructor that takes an Adopt argument. 1033 (WTF::adoptCF): Moved the Objective-C class check in here. 1034 (WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection 1035 in here; it used to be spread across the constructor and adoptNSReference. 1036 10372014-05-04 Andreas Kling <akling@apple.com> 1038 1039 Optimize JSRopeString for resolving directly to AtomicString. 1040 <https://webkit.org/b/132548> 1041 1042 Add AtomicString::find([LU]Char*, unsigned length) helpers for finding 1043 an existing AtomicString without a StringImpl on hand. 1044 1045 Reviewed by Filip Pizlo. 1046 1047 * wtf/text/AtomicString.h: 1048 * wtf/text/AtomicString.cpp: 1049 (WTF::AtomicString::find): 1050 10512014-05-01 Brent Fulgham <bfulgham@apple.com> 1052 1053 Fix handling of attributes prior to compiling shader 1054 https://bugs.webkit.org/show_bug.cgi?id=132430 1055 1056 Reviewed by Dean Jackson. 1057 1058 WebGL programs that called bindAttribLocations prior to compiling shader sources 1059 would perform the bind using the non-hashed symbol name, but would later create 1060 the attributes as hashed names. Consequently, the program would refer to 1061 attributes that were never actually part of any shader, resulting in some amazing 1062 display artifacts. 1063 1064 This patch adds a dictionary of hashed symbol names so that we can tell the WebGL 1065 program the proper name that will be used when the shader is eventually compiled, 1066 allowing the WebGL program to link against the proper symbol after compiling and 1067 linking completes. 1068 1069 * wtf/HexNumber.h: 1070 (WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter. 1071 10722014-04-30 Geoffrey Garen <ggaren@apple.com> 1073 1074 Link against bmalloc in production builds 1075 https://bugs.webkit.org/show_bug.cgi?id=132413 1076 1077 Reviewed by Sam Weinig. 1078 1079 Production builders have been configured to handle this, so let's build 1080 it. 1081 1082 * Configurations/WTF.xcconfig: 1083 10842014-05-01 Ryuan Choi <ryuan.choi@samsung.com> 1085 1086 [EFL] There are many warnings with software backend 1087 https://bugs.webkit.org/show_bug.cgi?id=132422 1088 1089 Reviewed by Gyuyoung Kim. 1090 1091 * wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef 1092 10932014-04-30 Simon Fraser <simon.fraser@apple.com> 1094 1095 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO 1096 https://bugs.webkit.org/show_bug.cgi?id=132396 1097 1098 Reviewed by Eric Carlson. 1099 1100 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code. 1101 1102 * wtf/FeatureDefines.h: 1103 11042014-04-30 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> 1105 1106 [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs 1107 https://bugs.webkit.org/show_bug.cgi?id=132390 1108 1109 Reviewed by Philippe Normand. 1110 1111 Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK 1112 remove, in GTK+ and GST, the existing glib version guards. 1113 1114 This code was rollback from r149879 because Qt MIPS used it. But since 1115 Qt is gone, it is safe to remove now. 1116 1117 * wtf/gobject/GRefPtr.cpp: 1118 (WTF::refGPtr): Deleted. 1119 (WTF::derefGPtr): Deleted. 1120 11212014-04-29 Alex Christensen <achristensen@webkit.org> 1122 1123 [WinCairo] Switch video from GStreamer to Media Foundation. 1124 https://bugs.webkit.org/show_bug.cgi?id=132358 1125 1126 Reviewed by Brent Fulgham. 1127 1128 * WTF.vcxproj/WTF.vcxproj: 1129 Removed dependencies on GStreamer. 1130 * wtf/Platform.h: 1131 Use Media Foundation instead of GStreamer and GLib. 1132 11332014-04-29 Filip Pizlo <fpizlo@apple.com> 1134 1135 Unreviewed, fix cloop build. 1136 1137 * wtf/Platform.h: 1138 11392014-04-29 Michael Saboff <msaboff@apple.com> 1140 1141 For DARWIN platforms, use system temporary directory for DataLog output 1142 https://bugs.webkit.org/show_bug.cgi?id=132346 1143 1144 Reviewed by Geoffrey Garen. 1145 1146 Added code to call confstr() to access the process's temporary directory to use that 1147 location instead of /tmp/. Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR. 1148 1149 * wtf/DataLog.cpp: 1150 (WTF::initializeLogFileOnce): 1151 11522014-04-25 Filip Pizlo <fpizlo@apple.com> 1153 1154 Figure out how many cores are available for realsies. 1155 1156 Rubber stamped by Andreas Kling. 1157 1158 HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin 1159 to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't. 1160 HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting 1161 facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit 1162 wants since it uses this information to decide how many threads to launch for various 1163 things. 1164 1165 * wtf/NumberOfCores.cpp: 1166 (WTF::numberOfProcessorCores): 1167 11682014-04-22 Brent Fulgham <bfulgham@apple.com> 1169 1170 [Win] Support Python 2.7 in Cygwin 1171 https://bugs.webkit.org/show_bug.cgi?id=132023 1172 1173 Reviewed by Michael Saboff. 1174 1175 * WTF.vcxproj/WTFGenerated.make: Use proper path to Python. 1176 11772014-04-21 Eric Carlson <eric.carlson@apple.com> 1178 1179 [Mac] implement WebKitDataCue 1180 https://bugs.webkit.org/show_bug.cgi?id=131799 1181 1182 Reviewed by Dean Jackson. 1183 1184 * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE. 1185 11862014-04-21 Darin Adler <darin@apple.com> 1187 1188 Add HashSet::takeAny 1189 https://bugs.webkit.org/show_bug.cgi?id=131928 1190 1191 Reviewed by Benjamin Poulain. 1192 1193 * wtf/HashSet.h: Added an overload of take that takes an iterator, 1194 and used it to implement both the existing take and new takeAny functions. 1195 11962014-04-20 Andreas Kling <akling@apple.com> 1197 1198 Speed up jsStringWithCache() through WeakGCMap inlining. 1199 <https://webkit.org/b/131923> 1200 1201 Add HashMap::fastAdd(), which is the same as add() except we'll tell 1202 the compiler to aggressively inline it. 1203 1204 Reviewed by Darin Adler. 1205 1206 * wtf/HashMap.h: 1207 * wtf/HashTable.h: 1208 12092014-04-19 Filip Pizlo <fpizlo@apple.com> 1210 1211 Make it easier to check if an integer sum would overflow 1212 https://bugs.webkit.org/show_bug.cgi?id=131900 1213 1214 Reviewed by Darin Adler. 1215 1216 * wtf/CheckedArithmetic.h: 1217 (WTF::checkedSum): 1218 (WTF::sumOverflows): 1219 12202014-04-18 Commit Queue <commit-queue@webkit.org> 1221 1222 Unreviewed, rolling out r167527. 1223 https://bugs.webkit.org/show_bug.cgi?id=131883 1224 1225 Broke 32-bit build (Requested by ap on #webkit). 1226 1227 Reverted changeset: 1228 1229 "[Mac] implement WebKitDataCue" 1230 https://bugs.webkit.org/show_bug.cgi?id=131799 1231 http://trac.webkit.org/changeset/167527 1232 12332014-04-18 Eric Carlson <eric.carlson@apple.com> 1234 1235 [Mac] implement WebKitDataCue 1236 https://bugs.webkit.org/show_bug.cgi?id=131799 1237 1238 Reviewed by Dean Jackson. 1239 1240 * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE. 1241 12422014-04-18 Martin Robinson <mrobinson@igalia.com> 1243 1244 Remove DynamicAnnotations.h? 1245 https://bugs.webkit.org/show_bug.cgi?id=131754 1246 1247 Reviewed by Simon Fraser. 1248 1249 This file, which helped support tools like Valgrind was unused. 1250 1251 * WTF.vcxproj/WTF.vcxproj: Remove references to the files. 1252 * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files. 1253 * WTF.xcodeproj/project.pbxproj: Remove references to the files. 1254 * wtf/CMakeLists.txt: Remove references to the files. 1255 * wtf/DynamicAnnotations.cpp: Removed. 1256 * wtf/DynamicAnnotations.h: Removed. 1257 * wtf/ThreadSafeRefCounted.h: Remove references to the files. 1258 * wtf/text/StringStatics.cpp: Remove references to the files. 1259 12602014-04-18 Philippe Normand <pnormand@igalia.com> 1261 1262 Remove NETWORK_INFO support 1263 https://bugs.webkit.org/show_bug.cgi?id=131841 1264 1265 Reviewed by Gyuyoung Kim. 1266 1267 * wtf/FeatureDefines.h: 1268 12692014-04-17 Filip Pizlo <fpizlo@apple.com> 1270 1271 Don't include CompilationThread.h from StringImpl.h 1272 https://bugs.webkit.org/show_bug.cgi?id=131817 1273 1274 Reviewed by Simon Fraser. 1275 1276 * wtf/CompilationThread.h: 1277 * wtf/StdLibExtras.h: 1278 * wtf/text/StringImpl.h: 1279 12802014-04-17 Darin Adler <darin@apple.com> 1281 1282 Use HashMap<unique_ptr> and Vector<unique_ptr> instead of deprecatedDeleteAllValues 1283 https://bugs.webkit.org/show_bug.cgi?id=73757 1284 1285 Reviewed by Brent Fulgham. 1286 1287 * wtf/Vector.h: 1288 (WTF::deprecatedDeleteAllValues): Deleted. 1289 12902014-04-17 Darin Adler <darin@apple.com> 1291 1292 Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe 1293 https://bugs.webkit.org/show_bug.cgi?id=131785 1294 rdar://problem/16003108 1295 1296 Reviewed by Brady Eidson. 1297 1298 * wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS. 1299 13002014-04-16 Simon Fraser <simon.fraser@apple.com> 1301 1302 Don't include CryptographicallyRandomNumber.h in StringImpl.h 1303 https://bugs.webkit.org/show_bug.cgi?id=131772 1304 1305 Reviewed by Sam Weinig. 1306 1307 * wtf/text/StringImpl.h: 1308 13092014-04-16 Gavin Barraclough <barraclough@apple.com> 1310 1311 Update to pthread QoS SPI 1312 https://bugs.webkit.org/show_bug.cgi?id=131753 1313 1314 Rubber stamped by Benjamin Poulain 1315 1316 * wtf/ThreadingPthreads.cpp: 1317 (WTF::setCurrentThreadQOSUtility): 1318 13192014-04-14 Geoffrey Garen <ggaren@apple.com> 1320 1321 WTF should have an optional mbmalloc target so we can benchmark FastMalloc 1322 https://bugs.webkit.org/show_bug.cgi?id=131662 1323 1324 Reviewed by Darin Adler. 1325 1326 * WTF.xcodeproj/project.pbxproj: Added the target. 1327 * wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required 1328 by MallocBench. 1329 13302014-04-16 Darin Adler <darin@apple.com> 1331 1332 Make Vector::takeLast work with move-only types (and optimize for types where move is faster) 1333 https://bugs.webkit.org/show_bug.cgi?id=131735 1334 1335 Reviewed by Alexey Proskuryakov. 1336 1337 * wtf/Vector.h: 1338 (WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it. 1339 13402014-04-14 Mark Lam <mark.lam@apple.com> 1341 1342 monotonicallyIncreasingTime() should only initialize its static timebaseInfo once. 1343 <https://webkit.org/b/131630> 1344 1345 Reviewed by Filip Pizlo. 1346 1347 The current initialization of the static field is not thread safe. 1348 1349 * wtf/CurrentTime.cpp: 1350 (WTF::monotonicallyIncreasingTime): 1351 13522014-04-14 Benjamin Poulain <benjamin@webkit.org> 1353 1354 [JSC] Improve the call site of string comparison in some hot path 1355 https://bugs.webkit.org/show_bug.cgi?id=131605 1356 1357 Reviewed by Darin Adler. 1358 1359 * wtf/text/StringImpl.cpp: 1360 (WTF::stringImplContentEqual): 1361 Inline that function to reduce the call overhead for JSC. 1362 This is only inlined twice, it is not catastrophic for our binary. 1363 13642014-04-13 Andy Estes <aestes@apple.com> 1365 1366 Relax adoption requirements of RefCounted objects that are NeverDestroyed 1367 https://bugs.webkit.org/show_bug.cgi?id=131593 1368 1369 Reviewed by Dan Bernstein. 1370 1371 RefCounted objects that are created by NeverDestroyed<> won't have a 1372 RefPtr adopting them, so call relaxAdoptionRequirements(). 1373 1374 * wtf/NeverDestroyed.h: 1375 (WTF::NeverDestroyed::NeverDestroyed): 1376 (WTF::NeverDestroyed::MaybeRelax::MaybeRelax): 1377 13782014-04-10 Brent Fulgham <bfulgham@apple.com> 1379 1380 [Win] Clean up some 64-bit warnings from Visual Studio analyzer 1381 https://bugs.webkit.org/show_bug.cgi?id=131514 1382 1383 Reviewed by Tim Horton. 1384 1385 * WTF.vcxproj/WTF.vcxproj: Use correct platform settings for 1386 64-bit build. 1387 * config.h: Ditto. 1388 * wtf/CurrentTime.cpp: 1389 (WTF::highResUpTime): Resolve warning about deprecated API. 1390 * wtf/StackBounds.cpp: 1391 (WTF::StackBounds::initialize): Silence warning about 1392 an uninitialized variable. 1393 13942014-04-09 Geoffrey Garen <ggaren@apple.com> 1395 1396 Rolled back in r166972. 1397 1398 This time, we conditionally exclude linking against bmalloc in Production 1399 builds. Production builds will not be able to link against bmalloc 1400 until the Production build system has been updated to build bmalloc. 1401 1402 WTF should link against bmalloc 1403 https://bugs.webkit.org/show_bug.cgi?id=131403 1404 1405 Reviewed by Mark Rowe. 1406 1407 * Configurations/WTF.xcconfig: 1408 * WTF.xcodeproj/project.pbxproj: 1409 14102014-04-09 Geoffrey Garen <ggaren@apple.com> 1411 1412 Put bmalloc headers in the right place 1413 https://bugs.webkit.org/show_bug.cgi?id=131464 1414 1415 Reviewed by Mark Rowe. 1416 1417 * wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our 1418 headers in <header-root>/usr/local/include/bmalloc/. 1419 14202014-04-09 Geoffrey Garen <ggaren@apple.com> 1421 1422 Rolled back out r166972. 1423 1424 The production buildbots are still broken because the build-root script 1425 doesn't build bmalloc. 1426 1427 * WTF.xcodeproj/project.pbxproj: 1428 14292014-04-09 Geoffrey Garen <ggaren@apple.com> 1430 1431 Rolled back in r166972. 1432 1433 The iOS buildbot's scripts have been updated to build bmalloc, so the 1434 build should now succeed on the bot. 1435 1436 Also renamed "Frameworks" to "Libraries" as suggested in a review comment. 1437 1438 WTF should link against bmalloc 1439 https://bugs.webkit.org/show_bug.cgi?id=131403 1440 1441 Reviewed by Michael Saboff. 1442 1443 This is required to build successfullly with bmalloc enabled. 1444 1445 * WTF.xcodeproj/project.pbxproj: 1446 14472014-04-08 Geoffrey Garen <ggaren@apple.com> 1448 1449 Stop linking WTF against bmalloc. 1450 1451 Reviewed by Enrica Casucci. 1452 1453 This seems to have broken an iOS buildbot script. Disable it for now 1454 until we can fix the script. 1455 1456 * WTF.xcodeproj/project.pbxproj: 1457 14582014-04-08 Geoffrey Garen <ggaren@apple.com> 1459 1460 WTF should link against bmalloc 1461 https://bugs.webkit.org/show_bug.cgi?id=131403 1462 1463 Reviewed by Michael Saboff. 1464 1465 This is required to build successfullly with bmalloc enabled. 1466 1467 * WTF.xcodeproj/project.pbxproj: 1468 14692014-04-08 Geoffrey Garen <ggaren@apple.com> 1470 1471 Added a bmalloc back-end for FastMalloc 1472 https://bugs.webkit.org/show_bug.cgi?id=131387 1473 1474 Reviewed by Andreas Kling. 1475 1476 We'll need to rethink some things if we adopt this back-end. For example, 1477 fastMallocSize() and fastMallocGoodSize() are no longer real things. But, 1478 this is enough to test for now. 1479 1480 * wtf/FastMalloc.cpp: 1481 (WTF::fastMalloc): 1482 (WTF::fastCalloc): 1483 (WTF::fastRealloc): 1484 (WTF::fastFree): 1485 (WTF::fastMallocSize): 1486 (WTF::fastMallocGoodSize): 1487 (WTF::tryFastMalloc): 1488 (WTF::tryFastRealloc): 1489 (WTF::tryFastCalloc): 1490 (WTF::releaseFastMallocFreeMemory): 1491 (WTF::fastMallocStatistics): 1492 14932014-04-08 Andres Gomez <agomez@igalia.com> 1494 1495 [GTK] [EFL] Build fails with GCC < 4.8.x 1496 https://bugs.webkit.org/show_bug.cgi?id=130585 1497 1498 Reviewed by Martin Robinson. 1499 1500 The behavior in lower versions of GCC seem to be related to 1501 http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132. 1502 1503 Provided explicit casts for the failing ambiguous overloads. 1504 1505 * wtf/gtk/MainThreadGtk.cpp: 1506 (WTF::scheduleDispatchFunctionsOnMainThread): 1507 * wtf/gtk/RunLoopGtk.cpp: 1508 (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of 1509 ref and de-referring. 1510 15112014-04-04 Mark Lam <mark.lam@apple.com> 1512 1513 Date object needs to check for ES5 15.9.1.14 TimeClip limit. 1514 <https://webkit.org/b/131248> 1515 1516 Reviewed by Mark Hahnenberg. 1517 1518 * wtf/DateMath.cpp: 1519 - Moved the definition of maxECMAScriptTime to the .h file so that we 1520 can use it in other files as well. 1521 (WTF::msToYear): 1522 - Removed a stale comment for parseDateFromNullTerminatedCharacters(). 1523 * wtf/DateMath.h: 1524 15252014-04-04 Mark Hahnenberg <mhahnenberg@apple.com> 1526 1527 Enhanced GC logging 1528 https://bugs.webkit.org/show_bug.cgi?id=131246 1529 1530 Reviewed by Geoff Garen. 1531 1532 Remove OBJECT_MARK_LOGGING 1533 1534 * wtf/FeatureDefines.h: 1535 * wtf/Platform.h: 1536 15372014-04-03 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> 1538 1539 [EFL] Enable CSS JIT again, it works fine after r166666. 1540 1541 Reviewed by Csaba Osztrogonác. 1542 1543 * wtf/Platform.h: 1544 15452014-04-03 Javier Fernandez <jfernandez@igalia.com> 1546 1547 [GTK][Cmake] Enable CSS JIT 1548 https://bugs.webkit.org/show_bug.cgi?id=131022 1549 1550 Reviewed by Martin Robinson. 1551 1552 * wtf/Platform.h: Enable CSS JIT for GTK port. 1553 15542014-04-02 Frédéric Wang <fred.wang@free.fr> 1555 1556 Operator stretching: read the Open Type MATH table 1557 https://bugs.webkit.org/show_bug.cgi?id=130324 1558 1559 Reviewed by Chris Fleizach. 1560 1561 * wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables. 1562 15632014-04-02 Alex Christensen <achristensen@webkit.org> 1564 1565 [WinCairo] Build fix with GMainLoopSource. 1566 https://bugs.webkit.org/show_bug.cgi?id=131089 1567 1568 Reviewed by Carlos Garcia Campos. 1569 1570 * wtf/gobject/GMainLoopSource.cpp: 1571 Only compile if glib is used, which fixes compile errors with video disabled in WinCairo. 1572 * wtf/gobject/GMainLoopSource.h: 1573 Export the GMainLoopSource functions to WTF.dll to link with where they are called in the GStreamer code. 1574 Also removed spaces to appease style bot. 1575 15762014-04-01 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> 1577 1578 [EFL] REGRESSION(166569): It made DoYouEvenBench/Full.html, CSS/QuerySelector.html and Dromaeo performance tests crash 1579 https://bugs.webkit.org/show_bug.cgi?id=131039 1580 1581 Reviewed by Csaba Osztrogonác. 1582 1583 * wtf/Platform.h: Disable CSS JIT on EFL until proper fix. 1584 15852014-04-01 Commit Queue <commit-queue@webkit.org> 1586 1587 Unreviewed, rolling out r166583. 1588 https://bugs.webkit.org/show_bug.cgi?id=131040 1589 1590 It's causing frequent crashes when running Layout Tests 1591 (Requested by svillar on #webkit). 1592 1593 Reverted changeset: 1594 1595 "[GTK][Cmake] Enable CSS JIT" 1596 https://bugs.webkit.org/show_bug.cgi?id=131022 1597 http://trac.webkit.org/changeset/166583 1598 15992014-04-01 Javier Fernandez <jfernandez@igalia.com> 1600 1601 [GTK][Cmake] Enable CSS JIT 1602 https://bugs.webkit.org/show_bug.cgi?id=131022 1603 1604 Reviewed by Martin Robinson. 1605 1606 * wtf/Platform.h: Enable CSS JIT for GTK port. 1607 16082014-04-01 Gyuyoung Kim <gyuyoung.kim@samsung.com> 1609 1610 [CMake][EFL] Enable CSS JIT 1611 https://bugs.webkit.org/show_bug.cgi?id=131010 1612 1613 Reviewed by Benjamin Poulain. 1614 1615 * wtf/Platform.h: Enable CSS JIT for EFL port. 1616 16172014-03-31 Dean Jackson <dino@apple.com> 1618 1619 Remove WEB_ANIMATIONS 1620 https://bugs.webkit.org/show_bug.cgi?id=130989 1621 1622 Reviewed by Simon Fraser. 1623 1624 Remove this feature flag until we plan to implement. 1625 1626 * wtf/FeatureDefines.h: 1627 16282014-03-31 Alex Christensen <achristensen@webkit.org> 1629 1630 Preparation for using Soup on Windows. 1631 https://bugs.webkit.org/show_bug.cgi?id=130615 1632 1633 Reviewed by Carlos Garcia Campos. 1634 1635 * WTF.vcxproj/WTF.vcxproj: 1636 * WTF.vcxproj/WTF.vcxproj.filters: 1637 Add all gobject source files in WinCairo build. 1638 * wtf/gobject/GRefPtr.h: 1639 Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup. 1640 16412014-03-31 Zan Dobersek <zdobersek@igalia.com> 1642 1643 Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData 1644 https://bugs.webkit.org/show_bug.cgi?id=130737 1645 1646 Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr 1647 for the CompressedVector and GenericCompressedData classes. 1648 1649 * wtf/Compression.cpp: 1650 (WTF::GenericCompressedData::create): 1651 * wtf/Compression.h: 1652 (WTF::CompressedVector::create): 1653 (WTF::CompressibleVector::decompressIfNecessary): 1654 16552014-03-28 Alexey Proskuryakov <ap@apple.com> 1656 1657 [Mac] Enable async text input implementation 1658 https://bugs.webkit.org/show_bug.cgi?id=130856 1659 1660 Reviewed by Sam Weinig. 1661 1662 * wtf/Platform.h: Added a USE macro definition. 1663 16642014-03-28 peavo@outlook.com <peavo@outlook.com> 1665 1666 Null pointer crash in String::append(UChar). 1667 https://bugs.webkit.org/show_bug.cgi?id=130900 1668 1669 Reviewed by Michael Saboff. 1670 1671 * wtf/text/WTFString.cpp: 1672 (WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash. 1673 16742014-03-27 Commit Queue <commit-queue@webkit.org> 1675 1676 Unreviewed, rolling out r166360. 1677 https://bugs.webkit.org/show_bug.cgi?id=130869 1678 1679 Seems to have broken PLT (Requested by ap on #webkit). 1680 1681 Reverted changeset: 1682 1683 "Connection::dispatchOneMessage() can be re-entered while 1684 handling Cmd-key menu" 1685 https://bugs.webkit.org/show_bug.cgi?id=130767 1686 http://trac.webkit.org/changeset/166360 1687 16882014-03-27 Alexey Proskuryakov <ap@apple.com> 1689 1690 Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu 1691 equivalents, ASSERT(!_data->_keyDownEventBeingResent) 1692 https://bugs.webkit.org/show_bug.cgi?id=130767 1693 <rdar://problem/16307487> 1694 1695 Reviewed by Darin Adler. 1696 1697 Changed RunLoop to wake up and fire timers only in default run loop mode by default, 1698 and added an ability to add more modes (can't use AppKit symbols in WTF). 1699 1700 In addition to this bug, the change also blocks modal alerts from appearing under 1701 menus during menu tracking. 1702 1703 * wtf/RunLoop.h: 1704 * wtf/cf/RunLoopCF.cpp: 1705 (WTF::RunLoop::RunLoop): 1706 (WTF::RunLoop::addModeForWakeUpAndTimers): 1707 (WTF::RunLoop::TimerBase::start): 1708 17092014-03-26 Zan Dobersek <zdobersek@igalia.com> 1710 1711 Unreviewed. Removing the remaining Automake cruft. 1712 1713 * GNUmakefile.list.am: Removed. 1714 17152014-03-25 Martin Robinson <mrobinson@igalia.com> 1716 1717 [GTK] Remove the autotools build 1718 https://bugs.webkit.org/show_bug.cgi?id=130717 1719 1720 Reviewed by Anders Carlsson. 1721 1722 * GNUmakefile.am: Removed. 1723 * config.h: Removed references to the autotools configure file. 1724 17252014-03-25 Gabor Rapcsanyi <rgabor@webkit.org> 1726 1727 [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap 1728 https://bugs.webkit.org/show_bug.cgi?id=130500 1729 1730 Reviewed by Filip Pizlo. 1731 1732 Set the first operand to the exact register in the inline assembly with GCC. 1733 1734 * wtf/Atomics.h: 1735 (WTF::weakCompareAndSwap): 1736 17372014-03-25 Gabor Rapcsanyi <rgabor@webkit.org> 1738 1739 [EFL] Add ARM64 build support 1740 https://bugs.webkit.org/show_bug.cgi?id=130506 1741 1742 Rubber stamped by Gyuyoung Kim. 1743 1744 * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined. 1745 17462014-03-24 Andy Estes <aestes@apple.com> 1747 1748 Fix the iOS build. 1749 1750 * wtf/ThreadingPthreads.cpp: 1751 (WTF::createThreadInternal): 1752 (WTF::setCurrentThreadQOSUtility): 1753 17542014-03-24 Gavin Barraclough <barraclough@apple.com> 1755 1756 Add support for thread QoS 1757 https://bugs.webkit.org/show_bug.cgi?id=130688 1758 1759 Speculative EFL build fix. 1760 1761 * wtf/ThreadingPthreads.cpp: 1762 (WTF::setCurrentThreadQOSUtility): 1763 17642014-03-24 Gavin Barraclough <barraclough@apple.com> 1765 1766 Add support for thread QoS 1767 https://bugs.webkit.org/show_bug.cgi?id=130688 1768 1769 Reviewed by Andreas Kling. 1770 1771 * wtf/FastMalloc.cpp: 1772 (WTF::TCMalloc_PageHeap::runScavengerThread): 1773 - block freeing is a utility activity. 1774 * wtf/Threading.h: 1775 - declaration. 1776 * wtf/ThreadingPthreads.cpp: 1777 (WTF::createThreadInternal): 1778 - default to interactive. 1779 (WTF::setCurrentThreadQOSUtility): 1780 - implementation. 1781 * wtf/ThreadingWin.cpp: 1782 (WTF::setCurrentThreadQOSUtility): 1783 - no-op implementation. 1784 17852014-03-23 Hyowon Kim <hw1008.kim@samsung.com> 1786 1787 Move all EFL typedefs into EflTypedefs.h. 1788 https://bugs.webkit.org/show_bug.cgi?id=130511 1789 1790 Reviewed by Gyuyoung Kim. 1791 1792 * wtf/Platform.h: include EflTypedefs.h. 1793 * wtf/efl/EflTypedefs.h: Added. 1794 * wtf/efl/RefPtrEfl.h: Remove EFL typedefs. 1795 17962014-03-22 Darin Adler <darin@apple.com> 1797 1798 Remove String::deprecatedCharacters 1799 https://bugs.webkit.org/show_bug.cgi?id=126854 1800 1801 Reviewed by Sam Weinig. 1802 1803 * wtf/text/StringBuilder.cpp: 1804 (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow. 1805 1806 * wtf/text/StringBuilder.h: Removed deprecatedCharacters. 1807 (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength. 1808 (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength. 1809 (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength. 1810 1811 * wtf/text/StringImpl.cpp: 1812 (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16. 1813 (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case. 1814 (WTF::StringImpl::lower): Ditto. 1815 (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters. 1816 Added an 8-bit code path to one of the overloads. Might want to revisit later 1817 to decide whether to use templates instead of copy/paste, or even use StringView 1818 to cut down on duplicate code paths. 1819 (WTF::StringImpl::findIgnoringCase): Ditto. 1820 (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case. 1821 (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header. 1822 1823 * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow, 1824 upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16. 1825 (WTF::equalIgnoringNullity): Changed the template function into an inline that calls 1826 a non-inline helper function. The non-inline function handles both 8-bit and 16-bit 1827 strings. 1828 1829 * wtf/text/StringView.h: 1830 (WTF::StringView::StringView): Added an overload so we can make one of these directly 1831 from a StringImpl without first wrapping it in a string. Added an adapter so we can 1832 use StringView as part of string concatenation. Added an append function so we can 1833 append to a Vector<UChar>. 1834 1835 * wtf/text/WTFString.cpp: 1836 (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed 1837 single-character append so it won't always turn an 8-bit string into a 16-bit one. 1838 (WTF::String::insert): Removed one insert overload and changed the other to use 1839 StringView::getCharactersWithUpconvert. 1840 (WTF::String::truncate): Changed to use StringImpl::substring. 1841 (WTF::String::percentage): Added characters8/16 paths instead of using 1842 deprecatedCharacters. 1843 1844 * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert, 1845 insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>. 1846 18472014-03-20 Darin Adler <darin@apple.com> 1848 1849 Fix a header guard mistake (harmless but clearly wrong) 1850 https://bugs.webkit.org/show_bug.cgi?id=130559 1851 1852 Reviewed by Andreas Kling. 1853 1854 * wtf/text/StringConcatenate.h: Correct the macro name in the header guard. 1855 18562014-03-20 Hyowon Kim <hw1008.kim@samsung.com> 1857 1858 Move to using std::unique_ptr for EFL objects. 1859 https://bugs.webkit.org/show_bug.cgi?id=129853 1860 1861 Reviewed by Gyuyoung Kim. 1862 1863 EflUniquePtr is a template alias of std::unique_ptr 1864 with a custom deleter for each Efl Objects, which is motivated by GUniquePtr. 1865 This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr. 1866 1867 * wtf/OwnPtrCommon.h: 1868 * wtf/PlatformEfl.cmake: 1869 * wtf/RunLoop.h: 1870 * wtf/efl/MainThreadEfl.cpp: 1871 (WTF::pipeObject): 1872 (WTF::initializeMainThreadPlatform): 1873 * wtf/efl/OwnPtrEfl.cpp: Removed. 1874 * wtf/efl/RunLoopEfl.cpp: 1875 (WTF::RunLoop::RunLoop): 1876 * wtf/efl/UniquePtrEfl.h: Added. 1877 (WTF::EflPtrDeleter::operator()): 1878 18792014-03-20 Gavin Barraclough <barraclough@apple.com> 1880 1881 Remove IdentifierTable typedef, isIdentifier() 1882 https://bugs.webkit.org/show_bug.cgi?id=130533 1883 1884 Rubber stamped by Geoff Garen. 1885 1886 Code should use AtomicStringTable, isAtomic() directly. 1887 1888 * wtf/WTFThreadData.h: 1889 (WTF::WTFThreadData::setCurrentAtomicStringTable): 1890 (WTF::WTFThreadData::resetCurrentAtomicStringTable): 1891 - removed IdentifierTypedef. 1892 * wtf/text/StringImpl.h: 1893 (WTF::StringImpl::flagIsAtomic): 1894 - renamed flagIsIdentfier -> flagIsAtomic. 1895 18962014-03-20 Gavin Barraclough <barraclough@apple.com> 1897 1898 Merge AtomicString, Identifier 1899 https://bugs.webkit.org/show_bug.cgi?id=128624 1900 1901 Reviewed by Geoff Garen. 1902 1903 WTF::StringImpl currently supports two uniquing mechanism - AtomicString and 1904 Identifer - that is one too many. 1905 1906 Remove Identifier in favour of AtomicString. Identifier had two interesting 1907 mechanisms that we preserve. 1908 1909 (1) JSC API VMs each get their own string table, switch the string table on 1910 API entry/exit. 1911 (2) JSC caches a pointer to the string table on the VM to avoid a thread 1912 specific access. Adds a new AtomicString::add method to support this. 1913 1914 * wtf/WTFThreadData.cpp: 1915 (WTF::WTFThreadData::WTFThreadData): 1916 - remove allocation of IdentifierTable. 1917 (WTF::WTFThreadData::~WTFThreadData): 1918 - remove deletion of IdentifierTable. 1919 * wtf/WTFThreadData.h: 1920 (WTF::WTFThreadData::atomicStringTable): 1921 - table is now switched by JSC API, return the current table. 1922 (WTF::WTFThreadData::currentIdentifierTable): 1923 - now returns the current AtomicStringTable. 1924 (WTF::WTFThreadData::setCurrentIdentifierTable): 1925 - now sets the current AtomicStringTable. 1926 (WTF::WTFThreadData::resetCurrentIdentifierTable): 1927 - now resets the AtomicStringTable. 1928 * wtf/text/AtomicString.cpp: 1929 (WTF::AtomicString::addSlowCase): 1930 - add without thread-specific access to access string table. 1931 * wtf/text/AtomicString.h: 1932 (WTF::AtomicString::addWithStringTableProvider): 1933 - add without thread-specific access (used by JSC, string table provided by VM or ExecState). 1934 * wtf/text/AtomicStringTable.cpp: 1935 (WTF::AtomicStringTable::create): 1936 - renamed m_atomicStringTable -> m_defaultAtomicStringTable. 1937 (WTF::AtomicStringTable::~AtomicStringTable): 1938 (WTF::AtomicStringTable::destroy): 1939 - clearing of table moved from AtomicStringTable::destroy to destructor. 1940 * wtf/text/AtomicStringTable.h: 1941 - added destructor. 1942 * wtf/text/StringImpl.cpp: 1943 (WTF::StringImpl::~StringImpl): 1944 - Identifers no longer exist; no need to remove them from IdentifierTable. 1945 * wtf/text/StringImpl.h: 1946 (WTF::StringImpl::StringImpl): 1947 - removed s_hashFlagIsIdentifier. 1948 (WTF::StringImpl::flagIsIdentifier): 1949 - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic. 1950 (WTF::StringImpl::isIdentifier): 1951 - now synonymous to isAtomic(). 1952 * wtf/text/StringStatics.cpp: 1953 (WTF::StringImpl::hashAndFlagsForEmptyUnique): 1954 - removed s_hashFlagIsIdentifier. 1955 19562014-03-20 Zan Dobersek <zdobersek@igalia.com> 1957 1958 Unreviewed Clang build fix for the GTK port after r165952. 1959 1960 * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects. 1961 19622014-03-18 Carlos Garcia Campos <cgarcia@igalia.com> 1963 1964 [GLIB] Add GMainLoopSource class to wrap idle and timeout sources 1965 https://bugs.webkit.org/show_bug.cgi?id=130027 1966 1967 Reviewed by Martin Robinson. 1968 1969 GLib main loop sources like idle and timeouts are sometimes 1970 unconvenient to use and it's very common to forget canceling the 1971 source when the object is destroyed or reset the source ID in the 1972 callback when called. GMainLoopSource is a wrapper class to make it 1973 easier to handle sources and also to avoid those typical mistakes. 1974 It forces to create sources with a name and the user doesn't have 1975 to deal with the source ID anymore. The source is cancelled when 1976 the object is deleted or when a new source is scheduled. It uses 1977 std::function for callbacks so that we no longer need to use the 1978 "proxy" static callbacks either. We can use std::bind to use a 1979 function pointer or a member or even lambda functions. It also handles 1980 repeating sources automatically depending on whether the given 1981 function returns a bool or not. 1982 1983 * GNUmakefile.list.am: 1984 * wtf/PlatformEfl.cmake: 1985 * wtf/PlatformGTK.cmake: 1986 * wtf/RunLoop.h: 1987 * wtf/gobject/GMainLoopSource.cpp: Added. 1988 (WTF::GMainLoopSource::createAndDeleteOnDestroy): 1989 (WTF::GMainLoopSource::GMainLoopSource): 1990 (WTF::GMainLoopSource::~GMainLoopSource): 1991 (WTF::GMainLoopSource::cancel): 1992 (WTF::GMainLoopSource::reset): 1993 (WTF::GMainLoopSource::scheduleIdleSource): 1994 (WTF::GMainLoopSource::schedule): 1995 (WTF::GMainLoopSource::scheduleTimeoutSource): 1996 (WTF::GMainLoopSource::scheduleAfterDelay): 1997 (WTF::GMainLoopSource::voidCallback): 1998 (WTF::GMainLoopSource::boolCallback): 1999 (WTF::GMainLoopSource::socketCallback): 2000 (WTF::GMainLoopSource::destroy): 2001 (WTF::GMainLoopSource::voidSourceCallback): 2002 (WTF::GMainLoopSource::boolSourceCallback): 2003 (WTF::GMainLoopSource::socketSourceCallback): 2004 * wtf/gobject/GMainLoopSource.h: Added. 2005 (WTF::GMainLoopSource::isScheduled): 2006 * wtf/gtk/MainThreadGtk.cpp: 2007 (WTF::scheduleDispatchFunctionsOnMainThread): 2008 * wtf/gtk/RunLoopGtk.cpp: 2009 (WTF::RunLoop::wakeUp): 2010 (WTF::RunLoop::TimerBase::TimerBase): 2011 (WTF::RunLoop::TimerBase::start): 2012 (WTF::RunLoop::TimerBase::stop): 2013 (WTF::RunLoop::TimerBase::isActive): 2014 20152014-03-19 Gavin Barraclough <barraclough@apple.com> 2016 2017 https://bugs.webkit.org/show_bug.cgi?id=130494 2018 EmptyUnique strings are Identifiers/Atomic 2019 2020 Reviewed by Geoff Garen. 2021 2022 EmptyUnique strings should set the Identifier/Atomic flag. 2023 2024 * wtf/text/AtomicString.h: 2025 (WTF::AtomicString::add): 2026 - Previously we assumed the only StringImpl that was validly allowed to claim to be 2027 Atomic but not be in a table was the canonical empty string. Now that EmptyUniques 2028 are also marked Atomic, all empty strings may pass this condition. 2029 * wtf/text/StringImpl.cpp: 2030 (WTF::StringImpl::~StringImpl): 2031 - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing. 2032 * wtf/text/StringImpl.h: 2033 (WTF::StringImpl::StringImpl): 2034 - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique. 2035 * wtf/text/StringStatics.cpp: 2036 (WTF::StringImpl::hashAndFlagsForEmptyUnique): 2037 - Allocate a sequential hash code (this should be just as good for distribution & better 2038 for debugging than the random value) and set flags, now including Atomic & Identifier. 2039 20402014-03-19 Gavin Barraclough <barraclough@apple.com> 2041 2042 Small cleanup of empty string 2043 https://bugs.webkit.org/show_bug.cgi?id=130438 2044 2045 Reviewed by Anders Carlson. 2046 2047 The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic() 2048 returns false. 2049 Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this. 2050 Also, we currently only create one 'static' string, the empty string. Adding more might break 2051 assumtions, inhibit the constructor from being used to create other static strings for now. 2052 2053 * wtf/text/AtomicString.h: 2054 (WTF::AtomicString::add): 2055 - update assert. 2056 * wtf/text/StringImpl.h: 2057 (WTF::StringImpl::StringImpl): 2058 - Merge ConstructStaticString constructors, only allow the empty static string to be constructed. 2059 * wtf/text/StringStatics.cpp: 2060 (WTF::StringImpl::empty): 2061 - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed. 2062 20632014-03-18 Darin Adler <darin@apple.com> 2064 2065 Reduce use of deprecatedCharacters in WebCore 2066 https://bugs.webkit.org/show_bug.cgi?id=130318 2067 2068 Reviewed by Andreas Kling. 2069 2070 * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used 2071 in WebCore now. 2072 2073 * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows. 2074 2075 * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp. 2076 * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp. 2077 20782014-03-18 Filip Pizlo <fpizlo@apple.com> 2079 2080 More FTL enabling. 2081 2082 Rubber stamped by Dan Bernstein and Mark Hahnenberg. 2083 2084 * wtf/Platform.h: 2085 20862014-03-17 Darin Adler <darin@apple.com> 2087 2088 Remove most uses of deprecatedCharacter in WTF 2089 https://bugs.webkit.org/show_bug.cgi?id=130317 2090 2091 Reviewed by Andreas Kling. 2092 2093 Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8. 2094 2095 * wtf/text/AtomicString.cpp: 2096 (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the 2097 non-ASCII path. 2098 (WTF::SubstringTranslator8::hash): Added. 2099 (WTF::SubstringTranslator8::equal): Added. 2100 (WTF::SubstringTranslator16::hash): Renamed class. 2101 (WTF::SubstringTranslator16::equal): Ditto. 2102 (WTF::AtomicString::add): Added an 8-bit code path to the substring case. 2103 2104 * wtf/text/Base64.cpp: 2105 (WTF::base64Decode): Added an 8 bit code path. 2106 (WTF::base64URLDecode): Ditto. 2107 2108 * wtf/text/StringImpl.cpp: 2109 (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16 2110 without first using is8Bit. Need to return later to remove use of deprecatedCharacters. 2111 2112 * wtf/unicode/UTF8.cpp: 2113 (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters 2114 are ASCII. Also removed the aEnd argument, since the caller only calls this when the 2115 lengths are equal. 2116 (WTF::Unicode::equalLatin1WithUTF8): Added. 2117 * wtf/unicode/UTF8.h: Updated as described above. 2118 21192014-03-17 Commit Queue <commit-queue@webkit.org> 2120 2121 Unreviewed, rolling out r165721. 2122 https://bugs.webkit.org/show_bug.cgi?id=130367 2123 2124 It makes the debug bots flaky (Requested by benjaminp on 2125 #webkit). 2126 2127 Reverted changeset: 2128 2129 "Remove most uses of deprecatedCharacter in WTF" 2130 https://bugs.webkit.org/show_bug.cgi?id=130317 2131 http://trac.webkit.org/changeset/165721 2132 21332014-03-17 Zan Dobersek <zdobersek@igalia.com> 2134 2135 Use RunLoop objects through references instead of pointers 2136 https://bugs.webkit.org/show_bug.cgi?id=130313 2137 2138 Reviewed by Andreas Kling. 2139 2140 Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead 2141 of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase 2142 constructors take in a RunLoop reference, with TimerBase now storing a RunLoop 2143 reference member instead of a pointer. Platform-specific bits of the RunLoop 2144 class are updated accordingly. 2145 2146 * wtf/RunLoop.cpp: 2147 (WTF::RunLoop::Holder::Holder): 2148 (WTF::RunLoop::Holder::runLoop): 2149 (WTF::RunLoop::initializeMainRunLoop): 2150 (WTF::RunLoop::current): 2151 (WTF::RunLoop::main): 2152 (WTF::RunLoop::isMain): 2153 * wtf/RunLoop.h: 2154 (WTF::RunLoop::Timer::Timer): 2155 * wtf/cf/RunLoopCF.cpp: 2156 (WTF::RunLoop::run): 2157 (WTF::RunLoop::TimerBase::TimerBase): 2158 (WTF::RunLoop::TimerBase::start): 2159 * wtf/efl/RunLoopEfl.cpp: 2160 (WTF::RunLoop::TimerBase::TimerBase): 2161 * wtf/gtk/RunLoopGtk.cpp: 2162 (WTF::RunLoop::run): 2163 (WTF::RunLoop::TimerBase::TimerBase): 2164 (WTF::RunLoop::TimerBase::start): 2165 * wtf/win/RunLoopWin.cpp: 2166 (WTF::RunLoop::TimerBase::TimerBase): 2167 (WTF::RunLoop::TimerBase::start): 2168 (WTF::RunLoop::TimerBase::stop): 2169 (WTF::RunLoop::TimerBase::isActive): 2170 21712014-03-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 2172 2173 One more fix after r165725. 2174 2175 Reviewed by Csaba Osztrogonác. 2176 2177 * wtf/WTFThreadData.h: 2178 21792014-03-17 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 2180 2181 Buildfix after r165725 for non Mac platforms. 2182 2183 Reviewed by Csaba Osztrogonác. 2184 2185 * wtf/WTFThreadData.h: 2186 21872014-03-17 Andreas Kling <akling@apple.com> 2188 2189 [Mac] WTFThreadData should use _pthread_getspecific_direct(). 2190 <https://webkit.org/b/130320> 2191 2192 Hack WTFThreadData to use a direct key for TLS access when available. 2193 This mechanism uses a dedicated segment register and is the same way 2194 we implement the fast path in FastMalloc. 2195 2196 Reviewed by Darin Adler. 2197 2198 * wtf/FastMalloc.cpp: 2199 * wtf/WTFThreadData.cpp: 2200 (WTF::WTFThreadData::createAndRegisterForGetspecificDirect): 2201 * wtf/WTFThreadData.h: 2202 (WTF::wtfThreadData): 2203 22042014-03-16 Darin Adler <darin@apple.com> 2205 2206 Remove most uses of deprecatedCharacter in WTF 2207 https://bugs.webkit.org/show_bug.cgi?id=130317 2208 2209 Reviewed by Andreas Kling. 2210 2211 * wtf/text/AtomicString.cpp: 2212 (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the 2213 non-ASCII path. 2214 (WTF::SubstringTranslator8::hash): Added. 2215 (WTF::SubstringTranslator8::equal): Added. 2216 (WTF::SubstringTranslator16::hash): Renamed class. 2217 (WTF::SubstringTranslator16::equal): Ditto. 2218 (WTF::AtomicString::add): Added an 8-bit code path to the substring case. 2219 2220 * wtf/text/Base64.cpp: 2221 (WTF::base64Decode): Added an 8 bit code path. 2222 (WTF::base64URLDecode): Ditto. 2223 2224 * wtf/text/StringImpl.cpp: 2225 (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16 2226 without first using is8Bit. Need to return later to remove use of deprecatedCharacters. 2227 2228 * wtf/unicode/UTF8.cpp: 2229 (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters 2230 are ASCII. Also removed the aEnd argument, since the caller only calls this when the 2231 lengths are equal. 2232 (WTF::Unicode::equalLatin1WithUTF8): Added. 2233 * wtf/unicode/UTF8.h: Updated as described above. 2234 22352014-03-16 David Kilzer <ddkilzer@apple.com> 2236 2237 Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64 2238 <http://webkit.org/b/130283> 2239 <rdar://problem/16281477> 2240 2241 Reviewed by Darin Adler. 2242 2243 * wtf/text/StringImpl.h: 2244 (WTF::loadUnaligned): Restore behavior prior to r165681 for 2245 compilers other than clang. 2246 22472014-03-16 Darin Adler <darin@apple.com> 2248 2249 Remove all uses of deprecatedCharacters from JavaScriptCore 2250 https://bugs.webkit.org/show_bug.cgi?id=130304 2251 2252 Reviewed by Anders Carlsson. 2253 2254 * wtf/dtoa.h: 2255 (WTF::parseDouble): Added an overload that takes a StringView. 2256 22572014-03-15 Darin Adler <darin@apple.com> 2258 2259 Remove all uses of deprecatedCharacters from WebKit2 2260 https://bugs.webkit.org/show_bug.cgi?id=130197 2261 2262 Reviewed by Andreas Kling. 2263 2264 * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters 2265 functions. These are useful for callers that need UTF-16. 2266 22672014-03-15 Darin Adler <darin@apple.com> 2268 2269 Try to fix EFL build. 2270 2271 * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function 2272 was setting the priority of the current thread instead of the passed-in thread. 2273 That was triggering an unused variable warning in the compiler used to build for 2274 EFL. Fixed by using the thread handle instead of pthread_self. 2275 22762014-03-15 Michael Saboff <msaboff@apple.com> 2277 2278 It should be possible to adjust DFG and FTL compiler thread priorities 2279 https://bugs.webkit.org/show_bug.cgi?id=130288 2280 2281 Reviewed by Filip Pizlo. 2282 2283 Added ability to change thread priorities relative to its current priority. 2284 Created options to adjust the priority of the DFG and FTL compilation work thread 2285 pools. For two core systems, there might be three runnable threads, the main thread, 2286 the DFG compilation thread and the FTL compilation thread. With the same priority, 2287 the scheduler is free to schedule whatever thread it wants. By lowering the 2288 compilation threads, the main thread can run. Further tests may suggest better values 2289 for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads. 2290 2291 For a two-core device, this change has a net positive improvement of 1-3% across 2292 SunSpider, Octane, Kraken and AsmBench. 2293 2294 * wtf/Threading.h: 2295 * wtf/ThreadingPthreads.cpp: 2296 (WTF::changeThreadPriority): 2297 * wtf/ThreadingWin.cpp: 2298 (WTF::changeThreadPriority): 2299 23002014-03-15 David Kilzer <ddkilzer@apple.com> 2301 2302 Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64 2303 <http://webkit.org/b/130283> 2304 <rdar://problem/16281477> 2305 2306 Reviewed by Geoff Garen. 2307 2308 * wtf/text/StringImpl.h: 2309 (WTF::loadUnaligned): Add template method. 2310 (WTF::equal): Switch to using loadUnaligned<>(). 2311 23122014-03-14 Mark Rowe <mrowe@apple.com> 2313 2314 Fix the production build. 2315 2316 Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't 2317 be at the expected relative path when working from installed source. 2318 2319 * Configurations/Base.xcconfig: 2320 23212014-03-14 Maciej Stachowiak <mjs@apple.com> 2322 2323 Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers 2324 https://bugs.webkit.org/show_bug.cgi?id=130276 2325 <rdar://problem/16266927> 2326 2327 Reviewed by Simon Fraser. 2328 2329 * wtf/ASCIICType.h: 2330 * wtf/AVLTree.h: 2331 * wtf/Assertions.cpp: 2332 * wtf/Assertions.h: 2333 * wtf/Atomics.cpp: 2334 * wtf/Atomics.h: 2335 * wtf/AutodrainedPool.h: 2336 * wtf/AutodrainedPoolMac.mm: 2337 * wtf/BoundsCheckedPointer.h: 2338 * wtf/CryptographicUtilities.cpp: 2339 * wtf/CryptographicallyRandomNumber.h: 2340 * wtf/CurrentTime.h: 2341 * wtf/Deque.h: 2342 * wtf/DisallowCType.h: 2343 * wtf/ExportMacros.h: 2344 * wtf/FeatureDefines.h: 2345 * wtf/GetPtr.h: 2346 * wtf/HashIterators.h: 2347 * wtf/Locker.h: 2348 * wtf/MainThread.cpp: 2349 * wtf/MainThread.h: 2350 * wtf/MathExtras.h: 2351 * wtf/MediaTime.cpp: 2352 * wtf/MediaTime.h: 2353 * wtf/MessageQueue.h: 2354 * wtf/MetaAllocator.cpp: 2355 * wtf/MetaAllocator.h: 2356 * wtf/MetaAllocatorHandle.h: 2357 * wtf/OSRandomSource.cpp: 2358 * wtf/OSRandomSource.h: 2359 * wtf/Platform.h: 2360 * wtf/RandomNumber.cpp: 2361 * wtf/RandomNumber.h: 2362 * wtf/RandomNumberSeed.h: 2363 * wtf/RedBlackTree.h: 2364 * wtf/RunLoopTimer.h: 2365 * wtf/RunLoopTimerCF.cpp: 2366 * wtf/SchedulePair.h: 2367 * wtf/SchedulePairCF.cpp: 2368 * wtf/SchedulePairMac.mm: 2369 * wtf/SegmentedVector.h: 2370 * wtf/StackBounds.h: 2371 * wtf/StaticConstructors.h: 2372 * wtf/StringExtras.h: 2373 * wtf/ThreadFunctionInvocation.h: 2374 * wtf/ThreadSafeRefCounted.h: 2375 * wtf/ThreadSpecific.h: 2376 * wtf/Threading.h: 2377 * wtf/ThreadingPrimitives.h: 2378 * wtf/ThreadingPthreads.cpp: 2379 * wtf/ThreadingWin.cpp: 2380 * wtf/WTFThreadData.cpp: 2381 * wtf/WTFThreadData.h: 2382 * wtf/efl/OwnPtrEfl.cpp: 2383 * wtf/mac/MainThreadMac.mm: 2384 * wtf/text/AtomicStringHash.h: 2385 * wtf/text/AtomicStringImpl.h: 2386 * wtf/text/Base64.h: 2387 * wtf/text/CString.cpp: 2388 * wtf/text/CString.h: 2389 * wtf/text/LChar.h: 2390 * wtf/text/cf/StringCF.cpp: 2391 * wtf/text/mac/StringMac.mm: 2392 * wtf/unicode/CharacterNames.h: 2393 * wtf/unicode/Collator.h: 2394 * wtf/unicode/CollatorDefault.cpp: 2395 * wtf/unicode/UTF8.cpp: 2396 * wtf/unicode/UTF8.h: 2397 * wtf/unicode/icu/CollatorICU.cpp: 2398 * wtf/win/MainThreadWin.cpp: 2399 24002014-03-14 Byungseon Shin <sun.shin@lge.com> 2401 2402 Incorrect Date returned between March 1, 2034 and February 28, 2100. 2403 https://bugs.webkit.org/show_bug.cgi?id=130123 2404 2405 Reviewed by Mark Lam. 2406 2407 Fix logic by using predefined Date APIs. 2408 2409 * wtf/DateMath.cpp: 2410 (WTF::ymdhmsToSeconds): 2411 24122014-03-12 Sergio Villar Senin <svillar@igalia.com> 2413 2414 Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL 2415 https://bugs.webkit.org/show_bug.cgi?id=129612 2416 2417 Reviewed by Darin Adler. 2418 2419 For new code use static NeverDestroyed<T> instead. 2420 2421 * wtf/RunLoop.cpp: 2422 (WTF::RunLoop::current): 2423 * wtf/StdLibExtras.h: 2424 * wtf/ThreadingPthreads.cpp: 2425 (WTF::threadMapMutex): 2426 (WTF::threadMap): 2427 * wtf/efl/MainThreadEfl.cpp: 2428 (WTF::pipeObject): 2429 * wtf/text/StringStatics.cpp: 2430 (WTF::StringImpl::empty): 2431 24322014-03-13 Radu Stavila <stavila@adobe.com> 2433 2434 Webkit not building on XCode 5.1 due to garbage collection no longer being supported 2435 https://bugs.webkit.org/show_bug.cgi?id=130087 2436 2437 Reviewed by Mark Rowe. 2438 2439 Disable garbage collection on macosx when not using internal SDK. 2440 2441 * Configurations/Base.xcconfig: 2442 24432014-03-12 Ryuan Choi <ryuan.choi@samsung.com> 2444 2445 [EFL] Enable Parallel GC 2446 https://bugs.webkit.org/show_bug.cgi?id=130177 2447 2448 Reviewed by Geoffrey Garen. 2449 2450 * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build. 2451 24522014-03-12 Joseph Pecoraro <pecoraro@apple.com> 2453 2454 Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases 2455 https://bugs.webkit.org/show_bug.cgi?id=130118 2456 2457 Reviewed by Timothy Hatcher. 2458 2459 * wtf/FeatureDefines.h: 2460 24612014-03-11 Brent Fulgham <bfulgham@apple.com> 2462 2463 [Win] Unreviewed gardening. 2464 2465 * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement 2466 our own. 2467 24682014-03-10 Jer Noble <jer.noble@apple.com> 2469 2470 Improve WeakPtr operators. 2471 https://bugs.webkit.org/show_bug.cgi?id=130053 2472 2473 Reviewed by Andreas Kling. 2474 2475 Replace the "operator!()" with an explicit bool operator. Add an "operator->()". 2476 2477 * wtf/WeakPtr.h: 2478 (WTF::WeakPtr::operator bool): 2479 (WTF::WeakPtr::operator->): 2480 24812014-03-10 Brent Fulgham <bfulgham@apple.com> 2482 2483 [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages. 2484 https://bugs.webkit.org/show_bug.cgi?id=130023. 2485 2486 Reviewed by Dean Jackson. 2487 2488 * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid 2489 escaping during later string substitution. 2490 * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS. 2491 24922014-03-10 Mark Hahnenberg <mhahnenberg@apple.com> 2493 2494 Turn on GenGC on other 64-bit platforms 2495 https://bugs.webkit.org/show_bug.cgi?id=129258 2496 2497 Reviewed by Oliver Hunt. 2498 2499 * wtf/Platform.h: 2500 25012014-03-07 peavo@outlook.com <peavo@outlook.com> 2502 2503 [Win64] Compile error after r165128. 2504 https://bugs.webkit.org/show_bug.cgi?id=129807 2505 2506 Reviewed by Mark Lam. 2507 2508 * wtf/Platform.h: MSVC does not support computed goto. 2509 Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES, 2510 and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support, 2511 but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT. 2512 25132014-03-06 Michael Saboff <msaboff@apple.com> 2514 2515 JSC should disable the JIT when building for ARMv7k 2516 https://bugs.webkit.org/show_bug.cgi?id=129829 2517 2518 Reviewed by Oliver Hunt. 2519 2520 Added WTF_CPU_APPLE_ARMV7K CPU define. Disabled the JITs when 2521 that feature define is set. 2522 2523 * wtf/Platform.h: 2524 25252014-03-06 Filip Pizlo <fpizlo@apple.com> 2526 2527 Use the LLVM disassembler on ARM64 if we are enabling the FTL 2528 https://bugs.webkit.org/show_bug.cgi?id=129785 2529 2530 Reviewed by Geoffrey Garen. 2531 2532 * wtf/Platform.h: 2533 25342014-03-05 peavo@outlook.com <peavo@outlook.com> 2535 2536 [Win32][LLINT] Crash when running JSC stress tests. 2537 https://bugs.webkit.org/show_bug.cgi?id=129429 2538 2539 Reviewed by Geoffrey Garen. 2540 2541 * wtf/Platform.h: Enable LLINT on Win32. 2542 25432014-03-04 Zan Dobersek <zdobersek@igalia.com> 2544 2545 [GTK] Build the Udis86 disassembler 2546 https://bugs.webkit.org/show_bug.cgi?id=129679 2547 2548 Reviewed by Michael Saboff. 2549 2550 * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux. 2551 25522014-03-02 Jaehun Lim <ljaehun.lim@samsung.com> 2553 2554 [EFL] Remove m_initEfl from RunLoop. 2555 https://bugs.webkit.org/show_bug.cgi?id=129568 2556 2557 Reviewed by Gyuyoung Kim. 2558 2559 We don't use m_initEfl except RunLoop constructor. 2560 2561 * wtf/RunLoop.h: 2562 * wtf/efl/RunLoopEfl.cpp: 2563 (WTF::RunLoop::RunLoop): 2564 25652014-03-02 Darin Adler <darin@apple.com> 2566 2567 Cut down use of OwnPtr within WTF itself 2568 https://bugs.webkit.org/show_bug.cgi?id=129567 2569 2570 Reviewed by Sam Weinig. 2571 2572 * wtf/RefCounted.h: Removed OwnPtr includes. 2573 2574 * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use 2575 std::make_unique and std::unique_ptr instead. 2576 2577 * wtf/Threading.cpp: Removed OwnPtr includes. 2578 * wtf/ThreadingPthreads.cpp: Ditto. 2579 * wtf/Vector.h: Ditto. 2580 25812014-02-26 Gavin Barraclough <barraclough@apple.com> 2582 2583 FastMalloc should use vm_page_shift intead of PAGE_SHIFT. 2584 https://bugs.webkit.org/show_bug.cgi?id=129370 2585 2586 Reviewed by Mark Rowe. 2587 2588 "Doesn't this lead to the page map using fewer bits than it was before? 2589 It seems like this will cause some page addresses to no longer be 2590 representable in the map when using 4K pages. Am I missing something?" 2591 2592 * wtf/FastMalloc.cpp: 2593 - bdash raises a valid point. This should make the TCMalloc_PageMap 2594 larger than absolutely necessary, rather than potentially too small. 2595 25962014-02-25 Gavin Barraclough <barraclough@apple.com> 2597 2598 FastMalloc should use vm_page_shift intead of PAGE_SHIFT. 2599 https://bugs.webkit.org/show_bug.cgi?id=129370 2600 2601 Reviewed by Geoff Garen. 2602 2603 Previously we used PAGE_SHIFT to initialize kPageShift. 2604 Since this was a constant, it could be used to calculate other 2605 contants used in the code. Some of these values are used in the 2606 definition of certain data structures (specifiying the length of 2607 some array members). 2608 2609 Make kPageShift & dependent properties variables setup during 2610 initialization. Add upper bound values (K_PAGE_SHIFT_MAX, 2611 K_NUM_CLASSES_MAX) for use in cases where we need a constant. 2612 2613 * wtf/FastMalloc.cpp: 2614 (WTF::InitSizeClasses): 2615 - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages. 2616 (WTF::pages): 2617 - added ASSERT. 2618 (WTF::AllocationSize): 2619 - added ASSERT. 2620 (WTF::TCMalloc_PageHeap::FreeBytes): 2621 - added ASSERT. 2622 (WTF::TCMalloc_PageHeap::init): 2623 - COMPILE_ASSERT -> ASSERT 2624 (WTF::TCMalloc_PageHeap::scavenge): 2625 - added ASSERT. 2626 (WTF::TCMalloc_PageHeap::Carve): 2627 - added ASSERT. 2628 (WTF::mergeDecommittedStates): 2629 - added ASSERT. 2630 (WTF::TCMalloc_PageHeap::IncrementalScavenge): 2631 - added ASSERT. 2632 (WTF::TCMalloc_PageHeap::ReturnedBytes): 2633 - added ASSERT. 2634 (WTF::PagesToMB): 2635 - added ASSERT. 2636 (WTF::TCMalloc_PageHeap::GrowHeap): 2637 - added ASSERT. 2638 (WTF::TCMalloc_PageHeap::ReleaseFreeList): 2639 - kNumClasses -> K_NUM_CLASSES_MAX 2640 (WTF::TCMalloc_ThreadCache::enumerateFreeObjects): 2641 - added ASSERT. 2642 (WTF::TCMalloc_Central_FreeList::Init): 2643 - added ASSERT. 2644 (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): 2645 - added ASSERT. 2646 (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass): 2647 - added ASSERT. 2648 (WTF::TCMalloc_Central_FreeList::MakeCacheSpace): 2649 - added ASSERT. 2650 (WTF::TCMalloc_Central_FreeList::InsertRange): 2651 - added ASSERT. 2652 (WTF::TCMalloc_Central_FreeList::Populate): 2653 - added ASSERT. 2654 (WTF::TCMalloc_ThreadCache::Init): 2655 - added ASSERT. 2656 (WTF::TCMalloc_ThreadCache::Cleanup): 2657 - added ASSERT. 2658 (WTF::TCMalloc_ThreadCache::Scavenge): 2659 - added ASSERT. 2660 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 2661 - added ASSERT. 2662 26632014-02-24 Alex Christensen <achristensen@webkit.org> 2664 2665 Disabled WebGL on WinCairo. 2666 2667 Unreviewed. 2668 2669 * wtf/FeatureDefines.h: 2670 Removed ENABLE_WEBGL definition for WinCairo port. 2671 WebGL has not worked on WinCairo since r163079 2672 and it was not compiling with a recent ANGLE update. 2673 26742014-02-24 Mark Hahnenberg <mhahnenberg@apple.com> 2675 2676 Turn GenGC on for 32-bit systems 2677 https://bugs.webkit.org/show_bug.cgi?id=128824 2678 2679 Reviewed by Geoffrey Garen. 2680 2681 * wtf/Platform.h: 2682 26832014-02-21 Benjamin Poulain <benjamin@webkit.org> 2684 2685 jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument 2686 https://bugs.webkit.org/show_bug.cgi?id=128893 2687 2688 Reviewed by Darin Adler. 2689 2690 AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only 2691 be called under specific conditions. 2692 The method is renamed to findStringWithHash(). 2693 2694 The new AtomicString::find is generic and does not require any propery on the input. 2695 2696 * wtf/text/AtomicString.cpp: 2697 (WTF::AtomicString::findStringWithHash): 2698 (WTF::AtomicString::findSlowCase): 2699 * wtf/text/AtomicString.h: 2700 (WTF::AtomicString::find): 2701 27022014-02-20 Csaba Osztrogonác <ossy@webkit.org> 2703 2704 Add StackStats sources to cmake and autotools build files 2705 https://bugs.webkit.org/show_bug.cgi?id=129103 2706 2707 Reviewed by Anders Carlsson. 2708 2709 * GNUmakefile.list.am: 2710 * wtf/CMakeLists.txt: 2711 27122014-02-20 Csaba Osztrogonác <ossy@webkit.org> 2713 2714 Get rid of redundant Platform.h includes 2715 https://bugs.webkit.org/show_bug.cgi?id=128817 2716 2717 Reviewed by Brent Fulgham. 2718 2719 * wtf/Assertions.h: 2720 * wtf/Atomics.h: 2721 * wtf/ByteOrder.h: 2722 * wtf/DataLog.h: 2723 * wtf/DisallowCType.h: 2724 * wtf/DynamicAnnotations.h: 2725 * wtf/ExportMacros.h: 2726 * wtf/FastMalloc.h: 2727 * wtf/FlipBytes.h: 2728 * wtf/InlineASM.h: 2729 * wtf/PrintStream.h: 2730 * wtf/ProcessID.h: 2731 * wtf/Threading.h: 2732 * wtf/ThreadingPrimitives.h: 2733 27342014-02-19 Jon Honeycutt <jhoneycutt@apple.com> 2735 2736 Crash in WTF::StringBuilder::append() 2737 2738 https://bugs.webkit.org/show_bug.cgi?id=125817 2739 <rdar://problem/15671883> 2740 2741 Reviewed by Oliver Hunt. 2742 2743 * wtf/text/StringBuilder.cpp: 2744 (WTF::expandedCapacity): 2745 Ensure that we return a new capacity of at least 'requiredLength' in 2746 the case where requiredLength is large. Also, use unsigned rather than 2747 size_t for the parameters and the return value, as callers pass 2748 unsigned arguments and treat the result as an unsigned int. 2749 27502014-02-19 Anders Carlsson <andersca@apple.com> 2751 2752 Add WTF_MAKE_FAST_ALLOCATED to more classes 2753 https://bugs.webkit.org/show_bug.cgi?id=129064 2754 2755 Reviewed by Andreas Kling. 2756 2757 * wtf/Bitmap.h: 2758 27592014-02-19 Zan Dobersek <zdobersek@igalia.com> 2760 2761 Make PrintStream::print() a variadic template 2762 https://bugs.webkit.org/show_bug.cgi?id=126388 2763 2764 Reviewed by Brent Fulgham. 2765 2766 PrintStream::print() can be converted into a variadic template, printing the value 2767 of the first parameter and recursively calling itself until the single parameter version 2768 is used for printing the last value. 2769 2770 * wtf/DataLog.h: 2771 (WTF::dataLog): Convert the function to a variadic template as well. 2772 * wtf/PrintStream.h: 2773 (WTF::PrintStream::print): 2774 * wtf/StringPrintStream.h: 2775 (WTF::toCString): Ditto. 2776 (WTF::toString): Ditto. 2777 27782014-02-19 Zan Dobersek <zdobersek@igalia.com> 2779 2780 Use std::swap() in HashTable::swap() 2781 https://bugs.webkit.org/show_bug.cgi?id=128995 2782 2783 Reviewed by Brent Fulgham. 2784 2785 Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap(). 2786 2787 * wtf/HashTable.h: 2788 (WTF::KeyTraits>::swap): 2789 27902014-02-19 Zan Dobersek <zdobersek@igalia.com> 2791 2792 SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend() 2793 https://bugs.webkit.org/show_bug.cgi?id=128996 2794 2795 Reviewed by Brent Fulgham. 2796 2797 * wtf/SegmentedVector.h: 2798 (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and 2799 then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation 2800 where a const lvalue is accepted and passed on. 2801 28022014-02-19 Dan Bernstein <mitz@apple.com> 2803 2804 Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions 2805 https://bugs.webkit.org/show_bug.cgi?id=129029 2806 2807 Reviewed by Mark Rowe. 2808 2809 * wtf/FeatureDefines.h: 2810 * wtf/Platform.h: 2811 * wtf/Threading.cpp: 2812 * wtf/text/cf/StringImplCF.cpp: 2813 (garbageCollectionEnabled): 2814 28152014-02-18 Dan Bernstein <mitz@apple.com> 2816 2817 PLATFORM(MAC) is true when building for iOS 2818 https://bugs.webkit.org/show_bug.cgi?id=129025 2819 2820 Reviewed by Mark Rowe. 2821 2822 * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but 2823 still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined). 2824 28252014-02-18 Joseph Pecoraro <pecoraro@apple.com> 2826 2827 [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled 2828 https://bugs.webkit.org/show_bug.cgi?id=128959 2829 2830 Reviewed by David Kilzer. 2831 2832 When JavaScriptCore is used without WebCore on iOS (e.g. JSContext) 2833 the WebCoreWebThread* functions will not be initialized. Avoid 2834 calling the function pointer if it is uninitialized. This was 2835 happening with remote inspection via StringImpl::createCFString 2836 for implicit NSString / WTFString conversion which uses isMainThread. 2837 2838 * wtf/mac/MainThreadMac.mm: 2839 (WTF::webThreadIsUninitializedOrLockedOrDisabled): 2840 (WTF::isMainThread): 2841 (WTF::canAccessThreadLocalDataForThread): 2842 28432014-02-17 Filip Pizlo <fpizlo@apple.com> 2844 2845 More ARM FTL glue 2846 https://bugs.webkit.org/show_bug.cgi?id=128948 2847 2848 Reviewed by Sam Weinig. 2849 2850 * wtf/Platform.h: 2851 28522014-02-17 Anders Carlsson <andersca@apple.com> 2853 2854 Remove ENABLE_GLOBAL_FASTMALLOC_NEW 2855 https://bugs.webkit.org/show_bug.cgi?id=127067 2856 2857 Reviewed by Geoffrey Garen. 2858 2859 Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators 2860 like we do is really undefined behavior according to the C++ standard and we've been lucky enough 2861 to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard 2862 library (not from headers that are included) will be mismatched and potentially crash. libc++ calls 2863 delete in it's std::thread implementation for example. 2864 2865 The only supported way to override operator new and operator delete globally is to not use inline 2866 functions, but that would mean that any application using WebKit would not be able to provide custom 2867 operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting 2868 of the WTF_MAKE_FAST_ALLOCATED macro. 2869 2870 * wtf/FastMalloc.cpp: 2871 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 2872 * wtf/FastMalloc.h: 2873 * wtf/Platform.h: 2874 28752014-02-17 Ryan Lortie <desrt@desrt.ca> 2876 2877 Enable DFG_JIT on FreeBSD 2878 https://bugs.webkit.org/show_bug.cgi?id=128898 2879 2880 Reviewed by Csaba Osztrogonác. 2881 2882 * wtf/Platform.h: 2883 28842014-02-15 Filip Pizlo <fpizlo@apple.com> 2885 2886 FTL should inline polymorphic heap accesses 2887 https://bugs.webkit.org/show_bug.cgi?id=128795 2888 2889 Reviewed by Oliver Hunt. 2890 2891 * wtf/PrintStream.h: 2892 (WTF::PointerDumpInContext::PointerDumpInContext): 2893 (WTF::PointerDumpInContext::dump): 2894 (WTF::pointerDumpInContext): 2895 28962014-02-16 Zan Dobersek <zdobersek@igalia.com> 2897 2898 Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*() 2899 https://bugs.webkit.org/show_bug.cgi?id=126875 2900 2901 The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*() 2902 were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator 2903 type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const 2904 qualifier on the return type, regardless of the Iterator type and its qualifiers. 2905 2906 * wtf/IteratorAdaptors.h: 2907 (WTF::FilterIterator::operator*): 2908 (WTF::TransformIterator::operator*): 2909 29102014-02-15 Filip Pizlo <fpizlo@apple.com> 2911 2912 Vector with inline capacity should work with non-PODs 2913 https://bugs.webkit.org/show_bug.cgi?id=128864 2914 2915 Reviewed by Michael Saboff. 2916 2917 Previously, we would copy the inline storage of a vector as if it was a bag of bits. 2918 This presumed that the element type was relocatable. In general this is only true for 2919 PODs. 2920 2921 This patch changes this by introducing a swap operation over inline storage. This swap 2922 operation requires being told about the size that is in use. 2923 2924 Deques would have required some cleverness to make this work, because the swap 2925 operation needs to know which subset of elements are in-use and assumes that a size is 2926 sufficient for this. That's not true for deques. Instead of trying to do very clever 2927 things, I just removed the inline capacity option from Deque. I believe that this is 2928 fine since there are only two users of Deque with inline capacity, and both of them 2929 appear to be allocated rarely enough that inline capacity probably doesn't help much. 2930 2931 * wtf/Deque.h: 2932 (WTF::DequeIterator::DequeIterator): 2933 (WTF::DequeConstIterator::DequeConstIterator): 2934 (WTF::Deque<T>::checkValidity): 2935 (WTF::Deque<T>::checkIndexValidity): 2936 (WTF::Deque<T>::invalidateIterators): 2937 (WTF::Deque<T>::Deque): 2938 (WTF::=): 2939 (WTF::Deque<T>::destroyAll): 2940 (WTF::Deque<T>::~Deque): 2941 (WTF::Deque<T>::swap): 2942 (WTF::Deque<T>::clear): 2943 (WTF::Deque<T>::expandCapacityIfNeeded): 2944 (WTF::Deque<T>::expandCapacity): 2945 (WTF::Deque<T>::append): 2946 (WTF::Deque<T>::prepend): 2947 (WTF::Deque<T>::removeFirst): 2948 (WTF::Deque<T>::removeLast): 2949 (WTF::Deque<T>::remove): 2950 (WTF::DequeIteratorBase<T>::checkValidity): 2951 (WTF::DequeIteratorBase<T>::addToIteratorsList): 2952 (WTF::DequeIteratorBase<T>::removeFromIteratorsList): 2953 (WTF::DequeIteratorBase<T>::DequeIteratorBase): 2954 (WTF::DequeIteratorBase<T>::~DequeIteratorBase): 2955 (WTF::DequeIteratorBase<T>::isEqual): 2956 (WTF::DequeIteratorBase<T>::increment): 2957 (WTF::DequeIteratorBase<T>::decrement): 2958 (WTF::DequeIteratorBase<T>::after): 2959 (WTF::DequeIteratorBase<T>::before): 2960 * wtf/Vector.h: 2961 (WTF::VectorBuffer::swap): 2962 (WTF::VectorBuffer::swapInlineBuffer): 2963 (WTF::VectorBuffer::swapInlineBuffers): 2964 (WTF::Vector::swap): 2965 29662014-02-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2967 2968 Remove 'static' specifier from free inline functions in StringImpl.h 2969 https://bugs.webkit.org/show_bug.cgi?id=118554 2970 2971 Reviewed by Darin Adler. 2972 2973 At first 'static' does not bring any use here, secondly static free 2974 inline functions in headers is a bad practice in general as each instance 2975 of function defined as inline is treated as a separate function and each 2976 instance has its own copy of static locals and string literals. 2977 2978 * wtf/text/StringImpl.h: 2979 (WTF::codePointCompare): 2980 (WTF::codePointCompare8): 2981 (WTF::codePointCompare16): 2982 (WTF::codePointCompare8To16): 2983 (WTF::isSpaceOrNewline): 2984 29852014-02-14 Benjamin Poulain <bpoulain@apple.com> 2986 2987 Improve the performance on mobile of FTPDirectoryDocument 2988 https://bugs.webkit.org/show_bug.cgi?id=128778 2989 2990 Reviewed by Antti Koivisto. 2991 2992 * wtf/text/WTFString.h: 2993 (WTF::String::endsWith): add a missing overload. 2994 29952014-02-14 Wojciech Bielawski <w.bielawski@samsung.com> 2996 2997 (try)append and insert operations don't need new operator for PODs 2998 https://bugs.webkit.org/show_bug.cgi?id=128185 2999 3000 Reviewed by Darin Adler. 3001 3002 Vector's methods use VectorCopier to copy data. 3003 VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied. 3004 3005 * wtf/Vector.h: 3006 (WTF::OverflowHandler>::append): use VectorCopier to copy data. 3007 (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data. 3008 (WTF::OverflowHandler>::insert): use VectorCopier to copy data. 3009 30102014-02-13 Daniel Bates <dabates@apple.com> 3011 3012 Fix the iOS build after <http://trac.webkit.org/changeset/164064 3013 3014 * wtf/Platform.h: 3015 30162014-02-13 Daniel Bates <dabates@apple.com> 3017 3018 [iOS] Disable HAVE_ARM_NEON_INTRINSICS 3019 3020 For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want 3021 to audit the applicable code before we enable this define. 3022 3023 * wtf/Platform.h: 3024 30252014-02-11 Filip Pizlo <fpizlo@apple.com> 3026 3027 Hoist and combine array bounds checks 3028 https://bugs.webkit.org/show_bug.cgi?id=125433 3029 3030 Reviewed by Mark Hahnenberg. 3031 3032 * GNUmakefile.list.am: 3033 * WTF.vcxproj/WTF.vcxproj: 3034 * WTF.xcodeproj/project.pbxproj: 3035 * wtf/CMakeLists.txt: 3036 * wtf/HashMethod.h: Added. 3037 (WTF::HashMethod::operator()): 3038 30392014-02-13 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 3040 3041 Code cleanup: remove gcc<4.7 guards. 3042 https://bugs.webkit.org/show_bug.cgi?id=128729 3043 3044 Reviewed by Anders Carlsson. 3045 3046 Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions, 3047 as WK does not compile with earlier gcc versions. 3048 3049 * wtf/Assertions.cpp: 3050 * wtf/Platform.h: 3051 30522014-02-12 Mark Lam <mark.lam@apple.com> 3053 3054 No need to save reservedZoneSize when dropping the JSLock. 3055 <https://webkit.org/b/128719> 3056 3057 Reviewed by Geoffrey Garen. 3058 3059 * wtf/WTFThreadData.cpp: 3060 (WTF::WTFThreadData::WTFThreadData): 3061 * wtf/WTFThreadData.h: 3062 - removed unnneeded m_savedReservedZoneSize. 3063 30642014-02-11 Mark Hahnenberg <mhahnenberg@apple.com> 3065 3066 32-bit LLInt writeBarrierOnGlobalObject is wrong 3067 https://bugs.webkit.org/show_bug.cgi?id=128556 3068 3069 Reviewed by Geoffrey Garen. 3070 3071 * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h 3072 30732014-02-11 peavo@outlook.com <peavo@outlook.com> 3074 3075 [WinCairo] Compile error, deleted file in WTF. 3076 https://bugs.webkit.org/show_bug.cgi?id=128601 3077 3078 Reviewed by Csaba Osztrogonác. 3079 3080 * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file. 3081 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 3082 30832014-02-10 Michael Saboff <msaboff@apple.com> 3084 3085 Re-enable ARM Thumb2 disassembler 3086 https://bugs.webkit.org/show_bug.cgi?id=128577 3087 3088 Reviewed by Filip Pizlo. 3089 3090 Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h 3091 3092 * wtf/Platform.h: 3093 30942014-02-10 Benjamin Poulain <benjamin@webkit.org> 3095 3096 Add the basic infrastructure to compile attributes matching in selectors 3097 https://bugs.webkit.org/show_bug.cgi?id=128484 3098 3099 Reviewed by Gavin Barraclough. 3100 3101 * wtf/Vector.h: 3102 (WTF::VectorBufferBase::bufferMemoryOffset): 3103 (WTF::Vector::sizeMemoryOffset): 3104 (WTF::Vector::dataMemoryOffset): 3105 Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT. 3106 31072014-02-10 Enrica Casucci <enrica@apple.com> 3108 3109 copyShortASCIIString crashes on iOS after r163793. 3110 https://bugs.webkit.org/show_bug.cgi?id=128548. 3111 3112 Reviewed by Alexey Proskuryakov. 3113 3114 Adding null check. 3115 3116 * wtf/unicode/icu/CollatorICU.cpp: 3117 (WTF::copyShortASCIIString): 3118 31192014-02-10 Carlos Garcia Campos <cgarcia@igalia.com> 3120 3121 [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr 3122 https://bugs.webkit.org/show_bug.cgi?id=127554 3123 3124 Reviewed by Gustavo Noronha Silva. 3125 3126 GUniqueOutPtr is a simplified version of GOwnPtr for the cases 3127 where we need the address of the contained pointer. GUniqueOutPtr 3128 uses GUniquePtr to free the contained object and to release the 3129 container pointer. The API is very simple to make sure this is 3130 only used when outPtr() is needed. It can't be constructed with a 3131 pointer, and there's not method to set a new pointer. Another 3132 difference with the old GOwnPtr is that outPtr() can be used 3133 multiple times, because it frees any pointer previously set. 3134 3135 * GNUmakefile.list.am: 3136 * wtf/PlatformEfl.cmake: 3137 * wtf/PlatformGTK.cmake: 3138 * wtf/gobject/GOwnPtr.cpp: Removed. 3139 * wtf/gobject/GOwnPtr.h: Removed. 3140 * wtf/gobject/GUniquePtr.h: 3141 (WTF::GUniqueOutPtr::GUniqueOutPtr): 3142 (WTF::GUniqueOutPtr::~GUniqueOutPtr): 3143 (WTF::GUniqueOutPtr::outPtr): 3144 (WTF::GUniqueOutPtr::reset): 3145 (WTF::GUniqueOutPtr::release): 3146 (WTF::GUniqueOutPtr::operator*): 3147 (WTF::GUniqueOutPtr::operator->): 3148 (WTF::GUniqueOutPtr::get): 3149 (WTF::GUniqueOutPtr::operator!): 3150 (WTF::GUniqueOutPtr::operator UnspecifiedBoolType): 3151 31522014-02-10 Darin Adler <darin@apple.com> 3153 3154 Stop using String::deprecatedCharacters to call WTF::Collator 3155 https://bugs.webkit.org/show_bug.cgi?id=128517 3156 3157 WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType() 3158 rdar://problem/15183390 3159 3160 Reviewed by Alexey Proskuryakov. 3161 3162 This patch fixes both bugs above by reworking WTF::Collator. 3163 3164 * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type, 3165 since the collator uses the same return value scheme as strcmp and as ICU; an int 3166 will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by 3167 using a separate copy of the class definition. (We should check if anyone needs 3168 UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag 3169 from a separate function to a constructor argument. Changed the arguments to 3170 the collate function to StringView. Added a collate UTF8 function. Changed the 3171 m_collate data member to no longer be mutable since we no longer allocate it lazily. 3172 3173 * wtf/unicode/CollatorDefault.cpp: 3174 (WTF::Collator::collate): Rewrote to be simpler. 3175 (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls 3176 the collate function above. 3177 3178 * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file 3179 has the wrong name and location. Since we always use ICU, there's no need to mention 3180 it in the file name. 3181 (WTF::copyASCIIString): Added. 3182 (WTF::copyDefaultLocale): Added. 3183 (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS, 3184 since on those platforms ICU does not use the correct default locale when passed null. 3185 (WTF::localesMatch): Added. 3186 (WTF::Collator::Collator): Moved most of the code from createCollator here. 3187 Simplified it by storing the collator configuration along with the collator in globals. 3188 (WTF::Collator::~Collator): Moved most of the code from releaseCollator here. 3189 (WTF::getIndexLatin1): Added. 3190 (WTF::moveLatin1): Added. 3191 (WTF::hasNextLatin1): Added. 3192 (WTF::hasPreviousLatin1): Added. 3193 (WTF::currentLatin1): Added. 3194 (WTF::nextLatin1): Added. 3195 (WTF::previousLatin1): Added. 3196 (WTF::getStateLatin1): Added. 3197 (WTF::setStateLatin1): Added. 3198 (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator 3199 that works for a WTF::StringView-style Latin-1 string. 3200 (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to 3201 make a UCharIterator that works for a WTF::StringView. 3202 (WTF::Collator::collate): Changed to use ucol_strcollIter. 3203 (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8. 3204 (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings. 3205 32062014-02-10 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 3207 3208 Code cleanup: Remove BUILDING_ON / TARGETING definitions. 3209 https://bugs.webkit.org/show_bug.cgi?id=128242 3210 3211 Reviewed by Brent Fulgham. 3212 3213 The BUILDING_ON_* and TARGETING_* macros have not been used for a while. 3214 According to the FIXME: they are removed. 3215 3216 * wtf/Platform.h: 3217 32182014-02-09 Anders Carlsson <andersca@apple.com> 3219 3220 Add WTF_MAKE_FAST_ALLOCATED to more classes 3221 https://bugs.webkit.org/show_bug.cgi?id=128506 3222 3223 Reviewed by Andreas Kling. 3224 3225 * wtf/Bag.h: 3226 * wtf/ListHashSet.h: 3227 32282014-02-08 Anders Carlsson <andersca@apple.com> 3229 3230 Stop using getCharactersWithUpconvert in JavaScriptCore 3231 https://bugs.webkit.org/show_bug.cgi?id=128457 3232 3233 Reviewed by Andreas Kling. 3234 3235 * wtf/text/StringBuilder.h: 3236 (WTF::StringBuilder::append): 3237 Add a new overload that takes a StringView. 3238 3239 * wtf/text/StringView.h: 3240 (WTF::StringView::find): 3241 Add new find member function. 3242 32432014-02-08 Darin Adler <darin@apple.com> 3244 3245 Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters 3246 https://bugs.webkit.org/show_bug.cgi?id=128233 3247 3248 Reviewed by Anders Carlsson. 3249 3250 * WTF.xcodeproj/project.pbxproj: Added new source files. 3251 3252 * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and 3253 createNSStringWithoutCopying. 3254 * wtf/text/cf/StringViewCF.cpp: 3255 (WTF::StringView::createCFStringWithoutCopying): Added. 3256 * wtf/text/mac/StringViewObjC.mm: 3257 (WTF::StringView::createNSString): Added. 3258 (WTF::StringView::createNSStringWithoutCopying): Added. 3259 32602014-02-06 Andreas Kling <akling@apple.com> 3261 3262 Remove unused ENABLE(REPAINT_THROTTLING) flag. 3263 <https://webkit.org/b/128329> 3264 3265 Reviewed by Antti Koivisto. 3266 3267 * wtf/FeatureDefines.h: 3268 32692014-02-06 Filip Pizlo <fpizlo@apple.com> 3270 3271 More FTL build scaffolding 3272 https://bugs.webkit.org/show_bug.cgi?id=128330 3273 3274 Reviewed by Geoffrey Garen. 3275 3276 * wtf/Platform.h: 3277 32782014-02-06 Anders Carlsson <andersca@apple.com> 3279 3280 Use std::chrono functions in dispatchFunctionsFromMainThread() 3281 https://bugs.webkit.org/show_bug.cgi?id=128308 3282 3283 Reviewed by Antti Koivisto. 3284 3285 * wtf/MainThread.cpp: 3286 (WTF::dispatchFunctionsFromMainThread): 3287 32882014-02-05 Zan Dobersek <zdobersek@igalia.com> 3289 3290 Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro 3291 https://bugs.webkit.org/show_bug.cgi?id=128267 3292 3293 Reviewed by Andreas Kling. 3294 3295 Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers 3296 that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It 3297 was actually already used unguarded in HashSet. 3298 3299 * wtf/Compiler.h: 3300 * wtf/HashMap.h: 3301 (WTF::HashMap::HashMap): 3302 * wtf/Vector.h: 3303 (WTF::Vector::Vector): 3304 33052014-02-05 Andreas Kling <akling@apple.com> 3306 3307 Remove ENABLE(DIRECTORY_UPLOAD). 3308 <https://webkit.org/b/128275> 3309 3310 Rubber-stamped by Ryosuke Niwa. 3311 3312 * wtf/FeatureDefines.h: 3313 33142014-02-05 Carlos Garcia Campos <cgarcia@igalia.com> 3315 3316 HashMap can't be used with std::unique_ptr as value when it has a custom deleter 3317 https://bugs.webkit.org/show_bug.cgi?id=128250 3318 3319 Reviewed by Darin Adler. 3320 3321 The problem is that the HashMap is using a unique_ptr with the 3322 default deleter, so that when trying to move the unique_ptr the 3323 deleters don't match. 3324 3325 * wtf/HashTraits.h: Add the deleter also in the template 3326 definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>> 3327 33282014-02-05 Csaba Osztrogonác <ossy@webkit.org> 3329 3330 Remove ENABLE(SVG) guards 3331 https://bugs.webkit.org/show_bug.cgi?id=127991 3332 3333 Reviewed by Sam Weinig. 3334 3335 * wtf/FeatureDefines.h: 3336 33372014-02-04 Mark Lam <mark.lam@apple.com> 3338 3339 The stack limit computation does not work for Windows. 3340 <https://webkit.org/b/128226> 3341 3342 Reviewed by Geoffrey Garen. 3343 3344 The current stack limit computation assumes that the stack is allocated 3345 in high memory. On Windows, the stack seems to be allocated very near 3346 address 0, and is smaller in size than our Options::maxPerThreadStackUsage(). 3347 This combination triggers a bug where StackBounds::recursionLimit() 3348 underflows and computes a limit address that is ridiculously high in memory. 3349 The net effect is that the Windows port thinks its out of stack space all 3350 the time. 3351 3352 We now check for potential underflows in StackBounds and return an 3353 appropriate limit address. 3354 3355 * wtf/StackBounds.h: 3356 (WTF::StackBounds::recursionLimit): 3357 33582014-02-04 Andreas Kling <akling@apple.com> 3359 3360 Remove <iframe seamless> support. 3361 <https://webkit.org/b/128213> 3362 3363 Rubber-stamped by Antti Koivisto. 3364 3365 * wtf/FeatureDefines.h: 3366 33672014-02-04 Anders Carlsson <andersca@apple.com> 3368 3369 Store StringImpl substring backpointers as tail data 3370 https://bugs.webkit.org/show_bug.cgi?id=128220 3371 3372 Reviewed by Geoffrey Garen. 3373 3374 This lets us get rid of m_substringBuffer from the union. 3375 3376 * wtf/text/StringImpl.cpp: 3377 (WTF::StringImpl::~StringImpl): 3378 (WTF::StringImpl::getData16SlowCase): 3379 * wtf/text/StringImpl.h: 3380 (WTF::StringImpl::StringImpl): 3381 (WTF::StringImpl::createSubstringSharingImpl8): 3382 (WTF::StringImpl::createSubstringSharingImpl): 3383 (WTF::StringImpl::cost): 3384 (WTF::StringImpl::costDuringGC): 3385 (WTF::StringImpl::substringBuffer): 3386 33872014-02-04 Anders Carlsson <andersca@apple.com> 3388 3389 Rename the substring sharing StringImpl::create variants to better indicate what they do 3390 https://bugs.webkit.org/show_bug.cgi?id=128214 3391 3392 Reviewed by Geoffrey Garen. 3393 3394 * wtf/text/AtomicString.cpp: 3395 (WTF::SubstringTranslator::translate): 3396 * wtf/text/StringBuilder.cpp: 3397 (WTF::StringBuilder::reifyString): 3398 (WTF::StringBuilder::resize): 3399 * wtf/text/StringImpl.h: 3400 (WTF::StringImpl::createSubstringSharingImpl8): 3401 (WTF::StringImpl::createSubstringSharingImpl): 3402 * wtf/text/WTFString.cpp: 3403 (WTF::String::substringSharingImpl): 3404 34052014-02-04 Alexey Proskuryakov <ap@apple.com> 3406 3407 WebCrypto HMAC verification uses a non-constant-time memcmp 3408 https://bugs.webkit.org/show_bug.cgi?id=128198 3409 <rdar://problem/15976961> 3410 3411 Reviewed by Oliver Hunt. 3412 3413 Added a "constant time" memcmp that doesn't depend on data. The name is somewhat 3414 strange, as the function is of course O(length) and not constant time at all, 3415 but apparently this is how everyone calls such functions. 3416 3417 * GNUmakefile.list.am: 3418 * WTF.vcxproj/WTF.vcxproj: 3419 * WTF.vcxproj/WTF.vcxproj.filters: 3420 * WTF.xcodeproj/project.pbxproj: 3421 * wtf/CMakeLists.txt: 3422 * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp): 3423 * wtf/CryptographicUtilities.h: Added. 3424 34252014-02-04 Anders Carlsson <andersca@apple.com> 3426 3427 Rename StringImpl::getCharacters to StringImpl::characters 3428 https://bugs.webkit.org/show_bug.cgi?id=128205 3429 3430 Reviewed by Antti Koivisto. 3431 3432 This lets us use StringImpl::getCharacters for the upconverting version. 3433 Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters() 3434 and audit all call sites to make sure we weren't relying on upconversion anywhere. 3435 3436 * wtf/text/AtomicString.cpp: 3437 (WTF::findString): 3438 * wtf/text/StringImpl.cpp: 3439 (WTF::StringImpl::simplifyMatchedCharactersToSpace): 3440 * wtf/text/StringImpl.h: 3441 (WTF::StringImpl::characters<LChar>): 3442 (WTF::StringImpl::characters<UChar>): 3443 34442014-02-04 Anders Carlsson <andersca@apple.com> 3445 3446 Rename equalNonNull to equal and make it take const StringImpl& instead 3447 https://bugs.webkit.org/show_bug.cgi?id=128206 3448 3449 Reviewed by Andreas Kling. 3450 3451 * wtf/text/StringHash.h: 3452 (WTF::StringHash::equal): 3453 * wtf/text/StringImpl.cpp: 3454 (WTF::stringImplContentEqual): 3455 (WTF::equal): 3456 * wtf/text/StringImpl.h: 3457 34582014-02-04 Anders Carlsson <andersca@apple.com> 3459 3460 Get rid of StringImpl::m_buffer 3461 https://bugs.webkit.org/show_bug.cgi?id=128200 3462 3463 Reviewed by Michael Saboff. 3464 3465 Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl 3466 constructor to initialize its character buffer to point to m_length instead 3467 since it will always be null. 3468 3469 Also change it to be an 8-bit string because why not. 3470 3471 * wtf/text/StringImpl.h: 3472 (WTF::StringImpl::StringImpl): 3473 34742014-02-04 Anders Carlsson <andersca@apple.com> 3475 3476 Rename String::getCharacters to String::characters 3477 https://bugs.webkit.org/show_bug.cgi?id=128196 3478 3479 Reviewed by Andreas Kling. 3480 3481 This means String::characters() will end up calling either characters8() or characters16() which 3482 makes more logical sense. It also frees up the getCharacters name so we can use it for a new function 3483 that will do upconversion. 3484 3485 * wtf/text/StringBuilder.cpp: 3486 (WTF::StringBuilder::appendUninitializedSlow): 3487 * wtf/text/WTFString.h: 3488 (WTF::String::characters<LChar>): 3489 (WTF::String::characters<UChar>): 3490 34912014-02-03 Anders Carlsson <andersca@apple.com> 3492 3493 Fix Windows build. 3494 3495 * wtf/text/StringImpl.h: 3496 (WTF::StringImpl::tailOffset): 3497 34982014-02-03 Anders Carlsson <andersca@apple.com> 3499 3500 StringImpl::tailOffset() should return the offset right after m_hashAndFlags 3501 https://bugs.webkit.org/show_bug.cgi?id=128141 3502 3503 Reviewed by Andreas Kling. 3504 3505 * wtf/text/StringImpl.h: 3506 (WTF::StringImpl::tailOffset): 3507 35082014-02-03 Anders Carlsson <andersca@apple.com> 3509 3510 More tail pointer consolidation 3511 https://bugs.webkit.org/show_bug.cgi?id=128139 3512 3513 Reviewed by Andreas Kling. 3514 3515 Add a new tailOffset() function and reimplement allocationSize() and tailPointer() 3516 in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1. 3517 3518 * wtf/text/StringImpl.cpp: 3519 (WTF::StringImpl::createUninitializedInternalNonEmpty): 3520 * wtf/text/StringImpl.h: 3521 (WTF::StringImpl::StringImpl): 3522 (WTF::StringImpl::requiresCopy): 3523 (WTF::StringImpl::allocationSize): 3524 (WTF::StringImpl::tailOffset): 3525 (WTF::StringImpl::tailPointer): 3526 35272014-02-03 Gustavo Noronha Silva <gns@gnome.org> 3528 3529 [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does 3530 https://bugs.webkit.org/show_bug.cgi?id=128136 3531 3532 Reviewed by Martin Robinson. 3533 3534 * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+. 3535 35362014-02-03 Mark Hahnenberg <mhahnenberg@apple.com> 3537 3538 Turn GenGC on 3539 https://bugs.webkit.org/show_bug.cgi?id=128109 3540 3541 Reviewed by Oliver Hunt. 3542 3543 * wtf/Platform.h: Initially it will only be enabled for X86-64. 3544 35452014-02-03 Anders Carlsson <andersca@apple.com> 3546 3547 Consolidate StringImpl tail handling into two functions 3548 https://bugs.webkit.org/show_bug.cgi?id=128122 3549 3550 Reviewed by Andreas Kling. 3551 3552 * wtf/text/StringImpl.cpp: 3553 (WTF::StringImpl::createUninitializedInternalNonEmpty): 3554 (WTF::StringImpl::reallocateInternal): 3555 * wtf/text/StringImpl.h: 3556 (WTF::StringImpl::tryCreateUninitialized): 3557 (WTF::StringImpl::allocationSize): 3558 (WTF::StringImpl::tailPointer): 3559 35602014-02-03 Darin Adler <darin@apple.com> 3561 3562 Remove Unicode.h 3563 https://bugs.webkit.org/show_bug.cgi?id=128106 3564 3565 Reviewed by Anders Carlsson. 3566 3567 * GNUmakefile.list.am: Removed files. 3568 * WTF.vcxproj/WTF.vcxproj: Ditto. 3569 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 3570 * WTF.xcodeproj/project.pbxproj: Ditto. 3571 * wtf/CMakeLists.txt: Ditto. 3572 3573 * wtf/unicode/ScriptCodesFromICU.h: Removed. 3574 * wtf/unicode/Unicode.h: Removed. 3575 * wtf/unicode/UnicodeMacrosFromICU.h: Removed. 3576 * wtf/unicode/icu/UnicodeIcu.h: Removed. 3577 * wtf/unicode/wchar/UnicodeWchar.cpp: Removed. 3578 * wtf/unicode/wchar/UnicodeWchar.h: Removed. 3579 35802014-01-25 Darin Adler <darin@apple.com> 3581 3582 Stop using Unicode.h 3583 https://bugs.webkit.org/show_bug.cgi?id=127633 3584 3585 Reviewed by Anders Carlsson. 3586 3587 * wtf/StringHasher.h: 3588 * wtf/dtoa.h: 3589 * wtf/text/ASCIIFastPath.h: 3590 * wtf/text/LChar.h: 3591 * wtf/text/StringBuffer.h: 3592 * wtf/text/StringImpl.h: 3593 * wtf/text/WTFString.cpp: 3594 * wtf/unicode/CharacterNames.h: 3595 * wtf/unicode/Collator.h: 3596 * wtf/unicode/UTF8.h: 3597 Removed includes of <wtf/unicode/Unicode.h>, adding includes of 3598 ICU headers and <wtf/text/LChar.h> as needed to replace it. 3599 36002014-02-02 Darin Adler <darin@apple.com> 3601 3602 Obey "delete this" comments, including deleting String::characters and friends 3603 https://bugs.webkit.org/show_bug.cgi?id=126865 3604 3605 Reviewed by Andreas Kling. 3606 3607 * wtf/text/AtomicString.h: Deleted the characters function. 3608 * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the 3609 deprecatedCharacters function. 3610 * wtf/text/StringImpl.h: Ditto. 3611 * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&, 3612 helpful for later string refactoring. 3613 36142014-02-02 Dan Bernstein <mitz@apple.com> 3615 3616 Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS” 3617 https://bugs.webkit.org/show_bug.cgi?id=128089 3618 3619 Reviewed by Darin Adler. 3620 3621 Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with 3622 equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to 3623 be false when building for iOS. 3624 3625 * - One exception noted below. 3626 3627 * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool 3628 is a Foundation class. 3629 3630 * wtf/CurrentTime.cpp: 3631 (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is 3632 part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue 3633 to take precedence regardless of the OS. 3634 3635 * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK). 3636 * wtf/MainThread.h: Ditto. 3637 3638 * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS. 3639 Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK), 3640 USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION), 3641 USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR), 3642 USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING), 3643 USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed 3644 PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various 3645 JavaScriptCore or JavaScriptCore-dependent behaviors. 3646 3647 * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 3648 * wtf/RunLoopTimerCF.cpp: Ditto. 3649 3650 * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard 3651 usage of Foundation API. 3652 3653 * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed 3654 only on OS X and Windows. 3655 36562014-01-31 Benjamin Poulain <bpoulain@apple.com> 3657 3658 Remove LEGACY_VIEWPORT_ADAPTION 3659 https://bugs.webkit.org/show_bug.cgi?id=128028 3660 3661 Reviewed by Anders Carlsson. 3662 3663 * wtf/FeatureDefines.h: 3664 36652014-01-31 Tim Horton <timothy_horton@apple.com> 3666 3667 [wk2] PlatformCALayerRemoteCustom doesn't work on iOS 3668 https://bugs.webkit.org/show_bug.cgi?id=128025 3669 <rdar://problem/15950271> 3670 3671 Reviewed by Simon Fraser. 3672 3673 * wtf/Platform.h: 3674 Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING 3675 and make it true on iOS. 3676 36772014-01-31 Michael Saboff <msaboff@apple.com> 3678 3679 REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au 3680 https://bugs.webkit.org/show_bug.cgi?id=128017 3681 3682 Reviewed by Filip Pizlo. 3683 3684 Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit 3685 to JSLock and JSLock::DropAllLocks. The saved data is now stored in per-thread in 3686 WTFThreadData. 3687 3688 * wtf/WTFThreadData.cpp: 3689 (WTF::WTFThreadData::WTFThreadData): 3690 * wtf/WTFThreadData.h: 3691 (WTF::WTFThreadData::savedStackPointerAtVMEntry): 3692 (WTF::WTFThreadData::setSavedStackPointerAtVMEntry): 3693 (WTF::WTFThreadData::savedLastStackTop): 3694 (WTF::WTFThreadData::setSavedLastStackTop): 3695 (WTF::WTFThreadData::savedReservedZoneSize): 3696 (WTF::WTFThreadData::setSavedReservedZoneSize): 3697 36982014-01-30 Andrei Bucur <abucur@adobe.com> 3699 3700 Remove the ACCELERATED_COMPOSITING flag 3701 https://bugs.webkit.org/show_bug.cgi?id=127833 3702 3703 Reviewed by Antti Koivisto. 3704 3705 Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC 3706 mandatory. 3707 3708 * wtf/OwnPtrCommon.h: 3709 * wtf/Platform.h: 3710 * wtf/efl/OwnPtrEfl.cpp: 3711 (WTF::deleteOwnedPtr): 3712 37132014-01-28 Michael Saboff <msaboff@apple.com> 3714 3715 Merge the jsCStack branch 3716 https://bugs.webkit.org/show_bug.cgi?id=127763 3717 3718 Reviewed by Mark Hahnenberg. 3719 3720 Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack 3721 up to changeset 162958. 3722 37232014-01-29 Csaba Osztrogonác <ossy@webkit.org> 3724 3725 Remove ENABLE(JAVASCRIPT_DEBUGGER) guards 3726 https://bugs.webkit.org/show_bug.cgi?id=127840 3727 3728 Reviewed by Mark Lam. 3729 3730 * wtf/FeatureDefines.h: 3731 37322014-01-28 Anders Carlsson <andersca@apple.com> 3733 3734 Actually turn stack stats back off. 3735 3736 * wtf/StackStats.cpp: 3737 * wtf/StackStats.h: 3738 37392014-01-28 Anders Carlsson <andersca@apple.com> 3740 3741 Turn stack stats back off. 3742 3743 * wtf/StackStats.cpp: 3744 37452014-01-28 Anders Carlsson <andersca@apple.com> 3746 3747 Use std::mutex instead of WTF::Mutex in WTF 3748 https://bugs.webkit.org/show_bug.cgi?id=127783 3749 3750 Reviewed by Antti Koivisto. 3751 3752 * wtf/CryptographicallyRandomNumber.cpp: 3753 * wtf/MainThread.cpp: 3754 (WTF::mainThreadFunctionQueueMutex): 3755 (WTF::functionQueue): 3756 (WTF::dispatchFunctionsFromMainThread): 3757 (WTF::callOnMainThread): 3758 (WTF::cancelCallOnMainThread): 3759 * wtf/StackStats.cpp: 3760 (WTF::StackStats::initialize): 3761 (WTF::StackStats::CheckPoint::CheckPoint): 3762 (WTF::StackStats::CheckPoint::~CheckPoint): 3763 (WTF::StackStats::probe): 3764 (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): 3765 (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): 3766 * wtf/StackStats.h: 3767 37682014-01-27 Joseph Pecoraro <pecoraro@apple.com> 3769 3770 WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed 3771 https://bugs.webkit.org/show_bug.cgi?id=127671 3772 3773 Reviewed by Ryosuke Niwa. 3774 3775 * wtf/text/WTFString.h: 3776 (WTF::appendNumber): 3777 37782014-01-27 Jer Noble <jer.noble@apple.com> 3779 3780 [WK2] callOnMainThread() from main thread sometimes results in ASSERTs. 3781 https://bugs.webkit.org/show_bug.cgi?id=127370 3782 3783 Reviewed by Alexey Proskuryakov. 3784 3785 When WEB_THREAD is enabled, and callOnMainThread() is called from the main 3786 thread, if the web thread is locked, a timer is set and the passed-in function 3787 is called on the next run-loop. However, by that time the web thread may have 3788 been unlocked, and isMainThread() will no longer return true, resulting in 3789 an assert. 3790 3791 Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(), 3792 which is equivalent to isMainThread() when the WEB_THREAD is disabled, but 3793 will do the correct thing when WEB_THREAD is enabled. 3794 3795 * wtf/mac/MainThreadMac.mm: 3796 (WTF::scheduleDispatchFunctionsOnMainThread): 3797 37982014-01-27 Dan Bernstein <mitz@apple.com> 3799 3800 Build fix. 3801 3802 * wtf/ThreadSafeRefCounted.h: Added a necessary #include. 3803 38042014-01-25 Sam Weinig <sam@webkit.org> 3805 3806 Remove unused support for DRAGGABLE_REGION 3807 https://bugs.webkit.org/show_bug.cgi?id=127642 3808 3809 Reviewed by Simon Fraser. 3810 3811 * wtf/FeatureDefines.h: 3812 38132014-01-25 Joseph Pecoraro <pecoraro@apple.com> 3814 3815 Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches 3816 https://bugs.webkit.org/show_bug.cgi?id=127637 3817 3818 Reviewed by Darin Adler. 3819 3820 For information about [[clang::fallthrough]], see: 3821 <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute> 3822 3823 * Configurations/Base.xcconfig: 3824 Enable -Wimplicit-fallthrough warnings. 3825 3826 * wtf/Compiler.h: 3827 Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported. 3828 3829 * wtf/dtoa/fast-dtoa.cc: 3830 * wtf/unicode/UTF8.cpp: 3831 (WTF::Unicode::convertLatin1ToUTF8): 3832 (WTF::Unicode::convertUTF16ToUTF8): 3833 (WTF::Unicode::isLegalUTF8): 3834 (WTF::Unicode::readUTF8Sequence): 3835 Explicitly annotate implicit fallthroughs with FALLTHROUGH. 3836 38372014-01-25 Darin Adler <darin@apple.com> 3838 3839 Call deprecatedCharacters instead of characters at more call sites 3840 https://bugs.webkit.org/show_bug.cgi?id=127631 3841 3842 Reviewed by Sam Weinig. 3843 3844 * wtf/text/StringImpl.cpp: 3845 (WTF::StringImpl::replace): 3846 * wtf/text/WTFString.h: 3847 (WTF::String::isAllSpecialCharacters): 3848 Use the new name. 3849 38502014-01-25 Darin Adler <darin@apple.com> 3851 3852 Add a new separate LChar.h header file, to be used after we remove Unicode.h 3853 https://bugs.webkit.org/show_bug.cgi?id=127630 3854 3855 Reviewed by Sam Weinig. 3856 3857 * GNUmakefile.list.am: Added the new file 3858 * WTF.vcxproj/WTF.vcxproj: Ditto. 3859 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 3860 * WTF.xcodeproj/project.pbxproj: Ditto. 3861 * wtf/CMakeLists.txt: Ditto. 3862 * wtf/text/LChar.h: Added. 3863 38642014-01-25 Darin Adler <darin@apple.com> 3865 3866 Get rid of ICU_UNICODE and WCHAR_UNICODE remnants 3867 https://bugs.webkit.org/show_bug.cgi?id=127623 3868 3869 Reviewed by Anders Carlsson. 3870 3871 * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and 3872 WTF_USE_WCHAR_UNICODE since they are true and false respectively. 3873 3874 * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE. 3875 3876 * wtf/unicode/Collator.h: Removed ifdefs. 3877 * wtf/unicode/CollatorDefault.cpp: Ditto. 3878 * wtf/unicode/Unicode.h: Ditto. 3879 * wtf/unicode/icu/CollatorICU.cpp: Ditto. 3880 38812014-01-25 Anders Carlsson <andersca@apple.com> 3882 3883 Remove atomicIncrement/atomicDecrement 3884 https://bugs.webkit.org/show_bug.cgi?id=127625 3885 3886 Reviewed by Andreas Kling. 3887 3888 Replace atomicIncrement/atomicDecrement with std::atomic. 3889 3890 * wtf/Atomics.h: 3891 * wtf/RefCountedLeakCounter.cpp: 3892 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 3893 (WTF::RefCountedLeakCounter::increment): 3894 (WTF::RefCountedLeakCounter::decrement): 3895 * wtf/RefCountedLeakCounter.h: 3896 * wtf/ThreadSafeRefCounted.h: 3897 (WTF::ThreadSafeRefCountedBase::ref): 3898 (WTF::ThreadSafeRefCountedBase::refCount): 3899 (WTF::ThreadSafeRefCountedBase::derefBase): 3900 39012014-01-25 Anders Carlsson <andersca@apple.com> 3902 3903 Modernize HashTable threading code 3904 https://bugs.webkit.org/show_bug.cgi?id=127621 3905 3906 Reviewed by Darin Adler. 3907 3908 Use std::mutex and std::atomic instead of WTF threading primitives. 3909 3910 * wtf/DynamicAnnotations.h: 3911 Include Platform.h here since this file relies on USE macros. 3912 3913 * wtf/HashTable.cpp: 3914 (WTF::HashTableStats::recordCollisionAtCount): 3915 Change this to take an unsigned. 3916 3917 (WTF::HashTableStats::dumpStats): 3918 * wtf/HashTable.h: 3919 (WTF::KeyTraits>::HashTable): 3920 (WTF::KeyTraits>::remove): 3921 (WTF::KeyTraits>::invalidateIterators): 3922 Use a single probe counter. 3923 3924 (WTF::addIterator): 3925 (WTF::removeIterator): 3926 39272014-01-25 Darin Adler <darin@apple.com> 3928 3929 Restore alphabetical order in Compiler.h 3930 https://bugs.webkit.org/show_bug.cgi?id=127620 3931 3932 Reviewed by Sam Weinig. 3933 3934 * wtf/Compiler.h: Resorted some things into alphabetical order 3935 39362014-01-24 Brent Fulgham <bfulgham@apple.com> 3937 3938 [Win] Convert some NMake files to MSBuild project files 3939 https://bugs.webkit.org/show_bug.cgi?id=127579 3940 3941 Reviewed by Tim Horton. 3942 3943 * WTF.vcxproj/WTF.make: Removed. 3944 * WTF.vcxproj/WTF.proj: Added. 3945 39462014-01-24 Anders Carlsson <andersca@apple.com> 3947 3948 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead 3949 https://bugs.webkit.org/show_bug.cgi?id=127571 3950 3951 Reviewed by Antti Koivisto. 3952 3953 * wtf/Compiler.h: 3954 Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC). 3955 3956 * wtf/CurrentTime.h: 3957 Remove monotonicallyIncreasingTimeMS(). 3958 3959 * wtf/StdLibExtras.h: 3960 (std::literals::chrono_literals::operator _s): 3961 (std::literals::chrono_literals::operator _ms): 3962 Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones. 3963 39642014-01-24 Anders Carlsson <andersca@apple.com> 3965 3966 The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all 3967 compilers support explicit conversions now so simply remove the #ifdef. 3968 3969 * wtf/RetainPtr.h: 3970 39712014-01-24 Darin Adler <darin@apple.com> 3972 3973 Simplify Compiler.h 3974 https://bugs.webkit.org/show_bug.cgi?id=127491 3975 3976 Reviewed by Anders Carlsson. 3977 3978 * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since 3979 we now have that for all compilers that can build WebKit. 3980 3981 * wtf/Compiler.h: Removed always true feature flags, including: 3982 COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES), 3983 COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR), 3984 COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT), 3985 COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and 3986 COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out 3987 nested #if and #else into separate checks for greater readability. Removed obsolete 3988 check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection. 3989 3990 * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have 3991 that for all compilers that can build WebKit. 3992 * wtf/RetainPtr.h: Ditto. 3993 39942014-01-23 Max Vujovic <mvujovic@adobe.com> 3995 3996 Remove CSS Custom Filters code and tests 3997 https://bugs.webkit.org/show_bug.cgi?id=127382 3998 3999 Reviewed by Simon Fraser. 4000 4001 * wtf/FeatureDefines.h: 4002 40032014-01-22 Brent Fulgham <bfulgham@apple.com> 4004 4005 [Win] Update project and solution files for 64-bit builds. 4006 https://bugs.webkit.org/show_bug.cgi?id=127457 4007 4008 Reviewed by Eric Carlson. 4009 4010 * WTF.vcxproj/WTF.submit.sln: Add x64 targets. 4011 * WTF.vcxproj/WTF.vcxproj: Update for VS2013 4012 40132014-01-22 Myles C. Maxfield <mmaxfield@apple.com> 4014 4015 Remove CSS3_TEXT_DECORATION define 4016 https://bugs.webkit.org/show_bug.cgi?id=127333 4017 4018 Reviewed by Simon Fraser. 4019 4020 This is required for unprefixing the text-decoration-* CSS properties. 4021 4022 * wtf/Platform.h: 4023 40242014-01-22 Jae Hyun Park <jae.park@company100.net> 4025 4026 Remove unnecessary include in Noncopyable.h 4027 https://bugs.webkit.org/show_bug.cgi?id=127406 4028 4029 Reviewed by Anders Carlsson. 4030 4031 * wtf/Noncopyable.h: We don't need Compiler.h as of r162198. 4032 40332014-01-22 Carlos Garcia Campos <cgarcia@igalia.com> 4034 4035 [GTK] Add GUniquePtr 4036 https://bugs.webkit.org/show_bug.cgi?id=127170 4037 4038 Reviewed by Gustavo Noronha Silva. 4039 4040 The idea is to replace GOwnPtr with a template alias of 4041 std:unique_ptr. Not everything can be replaced, though, because 4042 GOwnPtr::outPtr() doesn't seem to be possible to implement with 4043 unique_ptr. This smart pointer is more flexible than GOwnPtr and 4044 allows to transfer the ownership of the pointer using 4045 std::move(). 4046 4047 * GNUmakefile.list.am: Add new file to compilation. 4048 * wtf/gobject/GUniquePtr.h: Added. 4049 (WTF::GPtrDeleter::operator()): 4050 40512014-01-20 Anders Carlsson <andersca@apple.com> 4052 4053 Remove an unused member variable 4054 https://bugs.webkit.org/show_bug.cgi?id=127295 4055 4056 Reviewed by Antti Koivisto. 4057 4058 * wtf/MainThread.cpp: 4059 (WTF::FunctionWithContext::FunctionWithContext): 4060 (WTF::FunctionWithContext::operator == ): 4061 (WTF::dispatchFunctionsFromMainThread): 4062 40632014-01-20 Anders Carlsson <andersca@apple.com> 4064 4065 Remove MutexTryLocker 4066 https://bugs.webkit.org/show_bug.cgi?id=127294 4067 4068 Reviewed by Antti Koivisto. 4069 4070 MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now. 4071 4072 * wtf/ThreadingPrimitives.h: 4073 40742014-01-19 Carlos Garcia Campos <cgarcia@igalia.com> 4075 4076 [GLIB] GVariant floating references are not correctly handled by GRefPtr 4077 https://bugs.webkit.org/show_bug.cgi?id=127246 4078 4079 Reviewed by Martin Robinson. 4080 4081 GRefPtr should always use g_variant_ref_sink to deal with GVariant 4082 floating references. In case of full references, 4083 g_variant_ref_sink calls g_variant_ref, so it's safe to use it always. 4084 4085 * wtf/gobject/GRefPtr.cpp: 4086 (WTF::refGPtr): Use g_variant_ref_sink(). 4087 40882014-01-18 Anders Carlsson <andersca@apple.com> 4089 4090 Remove support for the viewsource attribute 4091 https://bugs.webkit.org/show_bug.cgi?id=127232 4092 4093 Reviewed by Andreas Kling. 4094 4095 * wtf/FeatureDefines.h: 4096 40972014-01-18 Anders Carlsson <andersca@apple.com> 4098 4099 Remove ENABLE_THREADED_HTML_PARSER defines everywhere 4100 https://bugs.webkit.org/show_bug.cgi?id=127225 4101 4102 Reviewed by Andreas Kling. 4103 4104 This concludes the removal of over 8.8 million lines of threaded parser code. 4105 4106 * wtf/FeatureDefines.h: 4107 41082014-01-17 Anders Carlsson <andersca@apple.com> 4109 4110 Add a callOnMainThreadAndWait variant in SocketStreamHandle 4111 https://bugs.webkit.org/show_bug.cgi?id=127180 4112 4113 Reviewed by Geoffrey Garen. 4114 4115 Remove callOnMainThreadAndWait from WTF. 4116 4117 * wtf/MainThread.cpp: 4118 * wtf/MainThread.h: 4119 41202014-01-17 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 4121 4122 Remove workaround for compilers not supporting deleted functions 4123 https://bugs.webkit.org/show_bug.cgi?id=127166 4124 4125 Reviewed by Andreas Kling. 4126 4127 * wtf/Compiler.h: 4128 * wtf/Noncopyable.h: 4129 * wtf/PassRefPtr.h: 4130 41312014-01-16 Benjamin Poulain <bpoulain@apple.com> 4132 4133 Remove Nix from WTF 4134 https://bugs.webkit.org/show_bug.cgi?id=127150 4135 4136 Reviewed by Alexey Proskuryakov. 4137 4138 * wtf/DisallowCType.h: 4139 * wtf/FeatureDefines.h: 4140 * wtf/Platform.h: 4141 * wtf/PlatformNix.cmake: Removed. 4142 * wtf/nix: Removed. 4143 41442014-01-16 Anders Carlsson <andersca@apple.com> 4145 4146 Remove FINAL macro 4147 https://bugs.webkit.org/show_bug.cgi?id=127149 4148 4149 Reviewed by Tim Horton. 4150 4151 * wtf/Compiler.h: 4152 41532014-01-16 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 4154 4155 Remove workaround for compilers not supporting explicit override control 4156 https://bugs.webkit.org/show_bug.cgi?id=127111 4157 4158 Reviewed by Anders Carlsson. 4159 4160 Now all compilers support explicit override control, this workaround can be removed. 4161 4162 * wtf/Compiler.h: 4163 * wtf/FilePrintStream.h: 4164 * wtf/RunLoop.h: 4165 * wtf/StringPrintStream.h: 4166 41672014-01-16 Alberto Garcia <berto@igalia.com> 4168 4169 Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl' 4170 https://bugs.webkit.org/show_bug.cgi?id=126985 4171 4172 Reviewed by Csaba Osztrogonác. 4173 4174 Use the 'q' constraint to force using a register that allows 4175 access to its lower byte. 4176 4177 * wtf/Atomics.h: 4178 (WTF::weakCompareAndSwap): 4179 41802014-01-16 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 4181 4182 Fix unnecessary checks for Clang compiler if the compiler is MSVC. 4183 https://bugs.webkit.org/show_bug.cgi?id=127037 4184 4185 Reviewed by Csaba Osztrogonác. 4186 4187 Inside the #if defined(_MSC_VER) there's no need for checking whether the compiler is not Clang. 4188 4189 * wtf/Compiler.h: 4190 41912014-01-16 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 4192 4193 Require at least GCC version 4.7 4194 https://bugs.webkit.org/show_bug.cgi?id=127049 4195 4196 Reviewed by Csaba Osztrogonác. 4197 4198 r161770 added a template alias, so the minimum GCC version is 4.7 now. 4199 4200 Also fixed a typo in the error message about old MSVC version. 4201 4202 * wtf/Compiler.h: 4203 42042014-01-15 Alberto Garcia <berto@igalia.com> 4205 4206 [GTK] v2.3.3 fails to build in Debian / FreeBSD 4207 https://bugs.webkit.org/show_bug.cgi?id=126502 4208 4209 Reviewed by Mark Lam. 4210 4211 * wtf/Platform.h: Add LLINT support to FreeBSD. 4212 42132014-01-15 Anders Carlsson <andersca@apple.com> 4214 4215 Get rid of RefCountedCustomAllocated 4216 https://bugs.webkit.org/show_bug.cgi?id=127051 4217 4218 Reviewed by Antti Koivisto. 4219 4220 It's not used anywhere anymore, get rid of it. 4221 4222 * wtf/RefCounted.h: 4223 * wtf/SizeLimits.cpp: 4224 42252014-01-14 Anders Carlsson <andersca@apple.com> 4226 4227 And yet another build fix. 4228 4229 * wtf/SizeLimits.cpp: 4230 42312014-01-14 Anders Carlsson <andersca@apple.com> 4232 4233 Another build fix. 4234 4235 * wtf/SizeLimits.cpp: 4236 42372014-01-14 Daniel Bates <dabates@apple.com> 4238 4239 [iOS] Enable WTF_USE_UIKIT_EDITING 4240 4241 * wtf/Platform.h: 4242 42432014-01-14 Daniel Bates <dabates@apple.com> 4244 4245 [iOS] Enable QuickLook 4246 https://bugs.webkit.org/show_bug.cgi?id=126954 4247 4248 Reviewed by David Kilzer. 4249 4250 * wtf/Platform.h: 4251 42522014-01-14 Anders Carlsson <andersca@apple.com> 4253 4254 Get rid of ThreadRestrictionVerifier 4255 https://bugs.webkit.org/show_bug.cgi?id=127004 4256 4257 Reviewed by Sam Weinig. 4258 4259 The ThreadRestrictionVerifier mechanism has been turned off for a while 4260 since it doesn't really have a good solution for objects that are passed between threads. 4261 Instead of having dead code in the tree, just get rid of it. 4262 4263 * GNUmakefile.list.am: 4264 * WTF.vcxproj/WTF.vcxproj: 4265 * WTF.vcxproj/WTF.vcxproj.filters: 4266 * WTF.xcodeproj/project.pbxproj: 4267 * wtf/CMakeLists.txt: 4268 * wtf/RefCounted.h: 4269 (WTF::RefCountedBase::ref): 4270 (WTF::RefCountedBase::hasOneRef): 4271 (WTF::RefCountedBase::refCount): 4272 (WTF::RefCountedBase::derefBase): 4273 * wtf/ThreadRestrictionVerifier.h: Removed. 4274 42752014-01-14 Benjamin Poulain <benjamin@webkit.org> 4276 4277 Enable the experimental selector code generator by default 4278 https://bugs.webkit.org/show_bug.cgi?id=126953 4279 4280 Reviewed by Gavin Barraclough. 4281 4282 * wtf/Platform.h: 4283 Enable CSS_SELECTOR_JIT on OS X x86_64 by default. 4284 The feature is not ready to ship but it is stable enough to enable 4285 for the bots and nightly. 4286 42872014-01-14 Brian J. Burg <burg@cs.washington.edu> 4288 4289 Add ENABLE(WEB_REPLAY) feature flag to the build system 4290 https://bugs.webkit.org/show_bug.cgi?id=126949 4291 4292 Reviewed by Joseph Pecoraro. 4293 4294 * wtf/FeatureDefines.h: for now, disable the flag by default. 4295 42962014-01-14 peavo@outlook.com <peavo@outlook.com> 4297 4298 [Win] Application name in user agent string is truncated. 4299 https://bugs.webkit.org/show_bug.cgi?id=126810 4300 4301 Reviewed by Anders Carlsson. 4302 4303 * wtf/text/StringConcatenate.h: 4304 (WTF::tryMakeString): Add missing 8 bit check for last argument. 4305 43062014-01-13 Anders Carlsson <andersca@apple.com> 4307 4308 Move another deprecated symbol to DeprecatedSymbolsUsedBySafari.mm 4309 https://bugs.webkit.org/show_bug.cgi?id=126909 4310 4311 Reviewed by Ryosuke Niwa. 4312 4313 * wtf/MainThread.cpp: 4314 * wtf/MainThread.h: 4315 * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: 4316 (WTF::callOnMainThread): 4317 43182014-01-13 Anders Carlsson <andersca@apple.com> 4319 4320 Fix Windows build. 4321 4322 * wtf/ThreadingWin.cpp: 4323 (WTF::initializeThreading): 4324 43252014-01-13 Anders Carlsson <andersca@apple.com> 4326 4327 Remove AtomicallyInitializedStatic 4328 https://bugs.webkit.org/show_bug.cgi?id=126864 4329 4330 Reviewed by Andreas Kling. 4331 4332 Remove the lockAtomicallyInitializedStaticMutex and unlockAtomicallyInitializedStaticMutex functions 4333 everywhere except on Mac (where they unfortunately were used by Safari). 4334 4335 On Mac, add them to a separate file which will hold functions and symbols that we would like 4336 to remove but that are used by Safari. Reimplement them in terms of std::call_once and std::mutex. 4337 4338 * WTF.xcodeproj/project.pbxproj: 4339 * wtf/Threading.h: 4340 * wtf/ThreadingPthreads.cpp: 4341 (WTF::initializeThreading): 4342 * wtf/ThreadingWin.cpp: 4343 (WTF::initializeThreading): 4344 * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Added. 4345 (WTF::atomicallyInitializedStaticMutex): 4346 (WTF::lockAtomicallyInitializedStaticMutex): 4347 (WTF::unlockAtomicallyInitializedStaticMutex): 4348 43492014-01-13 Commit Queue <commit-queue@webkit.org> 4350 4351 Unreviewed, rolling out r161855. 4352 http://trac.webkit.org/changeset/161855 4353 https://bugs.webkit.org/show_bug.cgi?id=126880 4354 4355 Sister commit of r161852 (Requested by kling on #webkit). 4356 4357 * wtf/ThreadingPthreads.cpp: 4358 (WTF::initializeThreading): 4359 43602014-01-13 Commit Queue <commit-queue@webkit.org> 4361 4362 Unreviewed, rolling out r161852. 4363 http://trac.webkit.org/changeset/161852 4364 https://bugs.webkit.org/show_bug.cgi?id=126877 4365 4366 Broke ToT with system Safari (Requested by kling on #webkit). 4367 4368 * wtf/Threading.h: 4369 * wtf/ThreadingPthreads.cpp: 4370 (WTF::initializeThreading): 4371 (WTF::lockAtomicallyInitializedStaticMutex): 4372 (WTF::unlockAtomicallyInitializedStaticMutex): 4373 * wtf/ThreadingWin.cpp: 4374 (WTF::lockAtomicallyInitializedStaticMutex): 4375 (WTF::unlockAtomicallyInitializedStaticMutex): 4376 (WTF::initializeThreading): 4377 43782014-01-12 Commit Queue <commit-queue@webkit.org> 4379 4380 Unreviewed, rolling out r161840. 4381 http://trac.webkit.org/changeset/161840 4382 https://bugs.webkit.org/show_bug.cgi?id=126870 4383 4384 Caused jsscore and layout test failures (Requested by smfr on 4385 #webkit). 4386 4387 * wtf/text/StringImpl.cpp: 4388 (WTF::StringImpl::replace): 4389 * wtf/text/WTFString.h: 4390 (WTF::String::isAllSpecialCharacters): 4391 43922014-01-12 Dan Bernstein <mitz@apple.com> 4393 4394 Fix an assertion failure in initializeDates() when launching Safari, which was introduced in r161852. 4395 4396 Reviewed by Andy Estes. 4397 4398 * wtf/ThreadingPthreads.cpp: 4399 (WTF::initializeThreading): Set isInitialized to true. 4400 44012014-01-12 Darin Adler <darin@apple.com> 4402 4403 Add PLATFORM(COCOA) and USE(FOUNDATION) 4404 https://bugs.webkit.org/show_bug.cgi?id=126859 4405 4406 Reviewed by Anders Carlsson. 4407 4408 * wtf/Platform.h: Added PLATFORM(COCOA), which for now is set at exactly the same 4409 times that PLATFORM(MAC) is. Added USE(FOUNDATION), which is set at the same times 4410 that PLATFORM(COCOA) is. Re-organize the PLATFORM(MAC) and PLATFORM(IOS) settings 4411 in the header so they are a bit easier to read. Put HAVE_LANGINFO_H in with the 4412 rest of the OS(UNIX) settings and put HAVE_READLINE in with the rest of the 4413 OS(DARWIN) settings. Tweak formatting a bit. 4414 44152014-01-12 Anders Carlsson <andersca@apple.com> 4416 4417 Remove AtomicallyInitializedStatic 4418 https://bugs.webkit.org/show_bug.cgi?id=126864 4419 4420 Reviewed by Darin Adler. 4421 4422 * wtf/Threading.h: 4423 * wtf/ThreadingPthreads.cpp: 4424 (WTF::initializeThreading): 4425 * wtf/ThreadingWin.cpp: 4426 (WTF::initializeThreading): 4427 44282014-01-12 Darin Adler <darin@apple.com> 4429 4430 Add deprecatedCharacters as a synonym for characters and convert most call sites 4431 https://bugs.webkit.org/show_bug.cgi?id=126858 4432 4433 Reviewed by Anders Carlsson. 4434 4435 * wtf/text/AtomicString.cpp: 4436 (WTF::HashAndUTF8CharactersTranslator::equal): 4437 (WTF::SubstringTranslator::hash): 4438 (WTF::SubstringTranslator::equal): 4439 * wtf/text/AtomicString.h: 4440 (WTF::AtomicString::characters): 4441 * wtf/text/Base64.cpp: 4442 (WTF::base64Decode): 4443 (WTF::base64URLDecode): 4444 * wtf/text/StringBuilder.h: 4445 (WTF::StringBuilder::characters): 4446 (WTF::StringBuilder::deprecatedCharacters): 4447 * wtf/text/StringImpl.cpp: 4448 (WTF::StringImpl::getData16SlowCase): 4449 (WTF::StringImpl::upper): 4450 (WTF::StringImpl::lower): 4451 (WTF::StringImpl::find): 4452 (WTF::StringImpl::findIgnoringCase): 4453 * wtf/text/StringImpl.h: 4454 (WTF::StringImpl::characters): 4455 (WTF::StringImpl::deprecatedCharacters): 4456 (WTF::StringImpl::getCharacters<UChar>): 4457 (WTF::equalIgnoringNullity): 4458 * wtf/text/WTFString.cpp: 4459 (WTF::String::append): 4460 (WTF::String::appendInternal): 4461 (WTF::String::insert): 4462 (WTF::String::truncate): 4463 (WTF::String::percentage): 4464 * wtf/text/WTFString.h: 4465 (WTF::String::characters): 4466 (WTF::String::deprecatedCharacters): 4467 (WTF::String::getCharactersWithUpconvert<UChar>): 4468 (WTF::append): 4469 Use deprecatedCharacters instead of characters. 4470 44712014-01-12 Anders Carlsson <andersca@apple.com> 4472 4473 Remove the last remaining uses of AtomicallyInitializedStatic 4474 https://bugs.webkit.org/show_bug.cgi?id=126863 4475 4476 Reviewed by Darin Adler. 4477 4478 * wtf/HashTable.cpp: 4479 (WTF::hashTableStatsMutex): 4480 (WTF::HashTableStats::recordCollisionAtCount): 4481 (WTF::HashTableStats::dumpStats): 4482 * wtf/unicode/icu/CollatorICU.cpp: 4483 (WTF::cachedCollatorMutex): 4484 (WTF::Collator::createCollator): 4485 (WTF::Collator::releaseCollator): 4486 44872014-01-12 Darin Adler <darin@apple.com> 4488 4489 Reduce use of String::characters 4490 https://bugs.webkit.org/show_bug.cgi?id=126854 4491 4492 Reviewed by Sam Weinig. 4493 4494 * wtf/text/StringImpl.cpp: 4495 (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked. 4496 * wtf/text/WTFString.h: 4497 (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was 4498 already checked. Also renamed "len" to "length". 4499 45002014-01-12 Anders Carlsson <andersca@apple.com> 4501 4502 Replace more uses of AtomicallyInitializedStatic with std::call_once 4503 https://bugs.webkit.org/show_bug.cgi?id=126847 4504 4505 Reviewed by Sam Weinig. 4506 4507 * wtf/Forward.h: 4508 Forward declare NeverDestroyed. 4509 45102014-01-11 Zan Dobersek <zdobersek@igalia.com> 4511 4512 Unreviewed build fix for ports using GCC after r161770. 4513 4514 * wtf/IteratorAdaptors.h: 4515 (WTF::FilterIterator::operator*): Replicating r161797, the const qualifier for 4516 FilterIterator::operator*() is removed since it clashes with some iterator types 4517 that are also const, causing compilation failures with GCC. 4518 45192014-01-11 Anders Carlsson <andersca@apple.com> 4520 4521 Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set 4522 https://bugs.webkit.org/show_bug.cgi?id=126837 4523 4524 Reviewed by Sam Weinig. 4525 4526 * wtf/HashSet.h: 4527 (WTF::HashSet::HashSet): 4528 Add a HashSet constructor that takes an initializer list. 4529 45302014-01-11 Sam Weinig <sam@webkit.org> 4531 4532 Fix the EFL build. 4533 4534 * wtf/IteratorAdaptors.h: 4535 (WTF::TransformIterator::operator*): 4536 45372014-01-11 Sam Weinig <sam@webkit.org> 4538 4539 Add support for null StringViews 4540 https://bugs.webkit.org/show_bug.cgi?id=126827 4541 4542 Reviewed by Anders Carlsson. 4543 4544 - Do some style cleanup while in the neighborhood. 4545 4546 * wtf/text/StringView.h: 4547 (WTF::StringView::StringView): 4548 Add default constructor to create a null StringView. 4549 4550 (WTF::StringView::isNull): 4551 Add isNull(), matching the semantics of String. 4552 4553 (WTF::StringView::operator bool): 4554 Add an explicit operator bool() to allow use in if-statements. 4555 45562014-01-11 Sam Weinig <sam@webkit.org> 4557 4558 Clean up iterator filter / iterator range code 4559 https://bugs.webkit.org/show_bug.cgi?id=126817 4560 4561 Reviewed by Anders Carlsson. 4562 4563 - Renames IteratorPair to IteratorRange. 4564 - Splits FilterIterator into FilterIterator (which now only filters) and 4565 TransformIterator (which does the transform part of the old FilterIterator). 4566 Move both of these to IteratorAdaptors.h 4567 4568 * GNUmakefile.list.am: 4569 * WTF.vcxproj/WTF.vcxproj: 4570 * WTF.vcxproj/WTF.vcxproj.filters: 4571 * WTF.xcodeproj/project.pbxproj: 4572 * wtf/CMakeLists.txt: 4573 * wtf/FilterIterator.h: Removed. 4574 Add/remove files. 4575 4576 * wtf/HashMap.h: 4577 (WTF::HashMap::keys): 4578 (WTF::HashMap::values): 4579 * wtf/RefPtrHashMap.h: 4580 Update for rename to IteratorRange. Simplify by using makeIteratorRange(). 4581 4582 * wtf/IteratorAdaptors.h: Copied from wtf/FilterIterator.h. 4583 (WTF::FilterIterator::FilterIterator): 4584 (WTF::FilterIterator::operator*): 4585 (WTF::makeFilterIterator): 4586 (WTF::TransformIterator::TransformIterator): 4587 (WTF::TransformIterator::operator++): 4588 (WTF::TransformIterator::operator*): 4589 (WTF::TransformIterator::operator==): 4590 (WTF::TransformIterator::operator!=): 4591 (WTF::makeTransformIterator): 4592 Split up filtering and transforming. Add makeFilterIterator() and makeTransformIterator() 4593 helpers. 4594 4595 * wtf/IteratorPair.h: Removed. 4596 * wtf/IteratorRange.h: Copied from wtf/IteratorPair.h. 4597 (WTF::IteratorRange::IteratorRange): 4598 (WTF::makeIteratorRange): 4599 Renamed to IteratorRange and adds makeIteratorRange() helper. 4600 46012014-01-10 David Kilzer <ddkilzer@apple.com> 4602 4603 Clean up architectures in xcconfig files 4604 <http://webkit.org/b/126794> 4605 4606 Reviewed by Andy Estes. 4607 4608 * Configurations/Base.xcconfig: 4609 - Add new arch. 4610 46112014-01-10 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 4612 4613 [EFL][JSC] Enable udis86 disassembler on efl. 4614 https://bugs.webkit.org/show_bug.cgi?id=125502 4615 4616 Reviewed by Michael Saboff. 4617 4618 Enable udis86 disassembler on efl and fix build warnings. 4619 4620 * wtf/Platform.h: 4621 Enable udis86 disassembler on EFL. 4622 46232014-01-10 Hunseop Jeong <hs85.jeong@samsung.com> 4624 4625 [EFL] Enable the DFG_JIT on ARMv7 4626 https://bugs.webkit.org/show_bug.cgi?id=126742 4627 4628 Reviewed by Gyuyoung Kim. 4629 4630 Turn on ENABLE_DFG_JIT on ARMv7 for EFL. 4631 4632 * wtf/Platform.h: 4633 46342014-01-07 Mark Hahnenberg <mhahnenberg@apple.com> 4635 4636 Marking should be generational 4637 https://bugs.webkit.org/show_bug.cgi?id=126552 4638 4639 Reviewed by Geoffrey Garen. 4640 4641 * wtf/Bitmap.h: 4642 (WTF::WordType>::count): Added a cast that became necessary when Bitmap 4643 is used with smaller types than int32_t. 4644 46452014-01-09 Simon Fraser <simon.fraser@apple.com> 4646 4647 Enable async scrolling for iOS 4648 https://bugs.webkit.org/show_bug.cgi?id=126730 4649 4650 Reviewed by Tim Horton. 4651 4652 Turn on ENABLE_ASYNC_SCROLLING for iOS. 4653 4654 * wtf/FeatureDefines.h: 4655 46562014-01-09 Anders Carlsson <andersca@apple.com> 4657 4658 Remove Blackberry and QNX bits from WTF 4659 https://bugs.webkit.org/show_bug.cgi?id=126726 4660 4661 Reviewed by Benjamin Poulain. 4662 4663 * wtf/Assertions.cpp: 4664 * wtf/Atomics.h: 4665 * wtf/CurrentTime.cpp: 4666 (WTF::currentCPUTime): 4667 * wtf/DateMath.cpp: 4668 * wtf/DisallowCType.h: 4669 * wtf/FeatureDefines.h: 4670 * wtf/InlineASM.h: 4671 * wtf/MathExtras.h: 4672 * wtf/NumberOfCores.cpp: 4673 (WTF::numberOfProcessorCores): 4674 * wtf/OSAllocatorPosix.cpp: 4675 (WTF::OSAllocator::reserveUncommitted): 4676 (WTF::OSAllocator::commit): 4677 (WTF::OSAllocator::decommit): 4678 * wtf/Platform.h: 4679 * wtf/PlatformBlackBerry.cmake: Removed. 4680 * wtf/RAMSize.cpp: 4681 (WTF::computeRAMSize): 4682 * wtf/StackBounds.cpp: 4683 * wtf/ThreadingPthreads.cpp: 4684 (WTF::initializeThreading): 4685 (WTF::initializeCurrentThreadInternal): 4686 * wtf/blackberry/MainThreadBlackBerry.cpp: Removed. 4687 * wtf/blackberry/RunLoopBlackBerry.cpp: Removed. 4688 * wtf/text/AtomicString.h: 4689 * wtf/text/StringImpl.h: 4690 * wtf/text/WTFString.h: 4691 46922014-01-09 Daniel Bates <dabates@apple.com> 4693 4694 [iOS] Upstream WebCore/platform changes 4695 https://bugs.webkit.org/show_bug.cgi?id=126654 4696 4697 Rubber-stamped by David Kilzer. 4698 4699 * wtf/MainThread.cpp: 4700 (WTF::canAccessThreadLocalDataForThread): 4701 * wtf/MainThread.h: 4702 47032014-01-09 Commit Queue <commit-queue@webkit.org> 4704 4705 Unreviewed, rolling out r161540. 4706 http://trac.webkit.org/changeset/161540 4707 https://bugs.webkit.org/show_bug.cgi?id=126704 4708 4709 Caused assertion failures on multiple tests (Requested by ap 4710 on #webkit). 4711 4712 * wtf/Bitmap.h: 4713 (WTF::WordType>::count): 4714 47152014-01-07 Mark Hahnenberg <mhahnenberg@apple.com> 4716 4717 Marking should be generational 4718 https://bugs.webkit.org/show_bug.cgi?id=126552 4719 4720 Reviewed by Geoffrey Garen. 4721 4722 * wtf/Bitmap.h: 4723 (WTF::WordType>::count): Added a cast that became necessary when Bitmap 4724 is used with smaller types than int32_t. 4725 47262014-01-08 Anders Carlsson <andersca@apple.com> 4727 4728 Add WTF::StringView and use it for grammar checking 4729 https://bugs.webkit.org/show_bug.cgi?id=126644 4730 4731 Reviewed by Antti Koivisto. 4732 4733 Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string. 4734 4735 This makes it easier to pass substrings around without having to either copy string data 4736 or upconvert and use UChar pointers. 4737 4738 The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++, 4739 see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details. 4740 4741 * GNUmakefile.list.am: 4742 * WTF.vcxproj/WTF.vcxproj: 4743 * WTF.vcxproj/WTF.vcxproj.filters: 4744 * WTF.xcodeproj/project.pbxproj: 4745 * wtf/CMakeLists.txt: 4746 * wtf/Forward.h: 4747 * wtf/text/StringView.h: Added. 4748 (WTF::StringView::StringView): 4749 (WTF::StringView::empty): 4750 (WTF::StringView::characters8): 4751 (WTF::StringView::characters16): 4752 (WTF::StringView::isEmpty): 4753 (WTF::StringView::length): 4754 (WTF::StringView::is8Bit): 4755 (WTF::StringView::substring): 4756 (WTF::StringView::toString): 4757 (WTF::StringView::toStringWithoutCopying): 4758 (WTF::StringView::encodedCharacters): 4759 47602014-01-07 David Farler <dfarler@apple.com> 4761 4762 [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h 4763 https://bugs.webkit.org/show_bug.cgi?id=124532 4764 4765 Reviewed by David Kilzer. 4766 4767 * wtf/Compiler.h: 4768 Remove this quirk - it does nothing. 4769 47702014-01-06 Filip Pizlo <fpizlo@apple.com> 4771 4772 Get rid of ENABLE(VALUE_PROFILER). It's on all the time now. 4773 4774 Rubber stamped by Mark Hahnenberg. 4775 4776 * wtf/Platform.h: 4777 47782014-01-06 Zan Dobersek <zdobersek@igalia.com> 4779 4780 Remove using directives for the std namespace from WTF 4781 https://bugs.webkit.org/show_bug.cgi?id=126524 4782 4783 Reviewed by Alexey Proskuryakov. 4784 4785 Remove the using directives for the std namespace throughout the WTF code. 4786 The more explicit std:: nested name specifier should be used instead. 4787 4788 * wtf/MediaTime.cpp: 4789 (WTF::MediaTime::createWithFloat): 4790 (WTF::MediaTime::createWithDouble): 4791 * wtf/text/StringImpl.cpp: 4792 (WTF::StringImpl::create): 4793 (WTF::StringImpl::lower): 4794 (WTF::StringImpl::upper): 4795 (WTF::StringImpl::foldCase): 4796 (WTF::StringImpl::find): 4797 (WTF::StringImpl::findIgnoringCase): 4798 (WTF::reverseFindInner): 4799 (WTF::StringImpl::reverseFind): 4800 (WTF::reverseFindIgnoringCaseInner): 4801 (WTF::StringImpl::reverseFindIgnoringCase): 4802 (WTF::StringImpl::replace): 4803 (WTF::StringImpl::utf8ForCharacters): 4804 (WTF::StringImpl::utf8ForRange): 4805 * wtf/text/WTFString.cpp: 4806 (WTF::String::append): 4807 (WTF::String::appendInternal): 4808 (WTF::String::insert): 4809 (WTF::String::substringSharingImpl): 4810 (WTF::String::fromUTF8): 4811 (WTF::toIntegralType): 4812 * wtf/win/RunLoopWin.cpp: 4813 48142014-01-03 Mark Hahnenberg <mhahnenberg@apple.com> 4815 4816 DoublyLinkedLists can't be concatenated 4817 https://bugs.webkit.org/show_bug.cgi?id=125976 4818 4819 Reviewed by Filip Pizlo. 4820 4821 * wtf/DoublyLinkedList.h: 4822 (WTF::DoublyLinkedList<T>::append): 4823 48242014-01-04 Zan Dobersek <zdobersek@igalia.com> 4825 4826 Explicitly use the std:: nested name specifier when using std::pair, std::make_pair 4827 https://bugs.webkit.org/show_bug.cgi?id=126439 4828 4829 Reviewed by Andreas Kling. 4830 4831 * wtf/VectorTraits.h: Stop bringing std::pair into the current scope. 4832 48332014-01-02 Gavin Barraclough <barraclough@apple.com> 4834 4835 Refactor NSActivity handling code from ChildProcess to UserActivity 4836 https://bugs.webkit.org/show_bug.cgi?id=126330 4837 4838 Reviewed by Sam Weinig. 4839 4840 UserActivity is a mechanism to express to the operating system (where appropriate) 4841 that a user initiated activity is taking place, and as such that resources should be 4842 made available to the process accordingly. 4843 4844 Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us 4845 to hold different activity tokens for different user actions (which simplifies the 4846 handling, and aides debugging since the token can more accurately express the activity 4847 taking place), and also will allow us to avoid the layering difficulty of calling back 4848 up the stack to WebKit to register that an activity is taking place. 4849 4850 * wtf/Platform.h: 4851 - added HAVE_NS_ACTIVITY. 4852 48532013-12-30 Commit Queue <commit-queue@webkit.org> 4854 4855 Unreviewed, rolling out r161157, r161158, r161160, r161161, 4856 r161163, and r161165. 4857 http://trac.webkit.org/changeset/161157 4858 http://trac.webkit.org/changeset/161158 4859 http://trac.webkit.org/changeset/161160 4860 http://trac.webkit.org/changeset/161161 4861 http://trac.webkit.org/changeset/161163 4862 http://trac.webkit.org/changeset/161165 4863 https://bugs.webkit.org/show_bug.cgi?id=126332 4864 4865 Broke WebKit2 on Mountain Lion (Requested by ap on #webkit). 4866 4867 * GNUmakefile.list.am: 4868 * WTF.vcxproj/WTF.vcxproj: 4869 * WTF.vcxproj/WTF.vcxproj.filters: 4870 * WTF.xcodeproj/project.pbxproj: 4871 * wtf/CMakeLists.txt: 4872 * wtf/Forward.h: 4873 * wtf/PlatformWin.cmake: 4874 * wtf/threads/BinarySemaphore.cpp: Added. 4875 (WTF::BinarySemaphore::BinarySemaphore): 4876 (WTF::BinarySemaphore::~BinarySemaphore): 4877 (WTF::BinarySemaphore::signal): 4878 (WTF::BinarySemaphore::wait): 4879 * wtf/threads/BinarySemaphore.h: Added. 4880 (WTF::BinarySemaphore::event): 4881 * wtf/threads/win/BinarySemaphoreWin.cpp: Added. 4882 (WTF::BinarySemaphore::BinarySemaphore): 4883 (WTF::BinarySemaphore::~BinarySemaphore): 4884 (WTF::BinarySemaphore::signal): 4885 (WTF::BinarySemaphore::wait): 4886 48872013-12-30 Anders Carlsson <andersca@apple.com> 4888 4889 Replace yield() and pauseBriefly() with std::this_thread::yield() 4890 https://bugs.webkit.org/show_bug.cgi?id=126105 4891 4892 Reviewed by Sam Weinig. 4893 4894 * wtf/ByteSpinLock.h: 4895 (WTF::ByteSpinLock::lock): 4896 * wtf/Threading.h: 4897 * wtf/ThreadingPrimitives.h: 4898 * wtf/ThreadingPthreads.cpp: 4899 * wtf/ThreadingWin.cpp: 4900 49012013-12-30 Sam Weinig <sam@webkit.org> 4902 4903 Remove unnecessary non-const overload in IteratorPair 4904 https://bugs.webkit.org/show_bug.cgi?id=126314 4905 4906 Reviewed by Anders Carlsson. 4907 4908 * wtf/IteratorPair.h: 4909 49102013-12-30 Sam Weinig <sam@webkit.org> 4911 4912 Remove WTF's BinarySemaphore 4913 https://bugs.webkit.org/show_bug.cgi?id=126310 4914 4915 Reviewed by Anders Carlsson. 4916 4917 It's unused. Also remove the now empty wtf/threads directory. 4918 4919 * GNUmakefile.list.am: 4920 * WTF.vcxproj/WTF.vcxproj: 4921 * WTF.vcxproj/WTF.vcxproj.filters: 4922 * WTF.xcodeproj/project.pbxproj: 4923 * wtf/CMakeLists.txt: 4924 * wtf/Forward.h: 4925 * wtf/PlatformWin.cmake: 4926 * wtf/threads: Removed. 4927 * wtf/threads/BinarySemaphore.cpp: Removed. 4928 * wtf/threads/BinarySemaphore.h: Removed. 4929 * wtf/threads/win: Removed. 4930 * wtf/threads/win/BinarySemaphoreWin.cpp: Removed. 4931 49322013-12-30 Roger Fong <roger_fong@apple.com> 4933 4934 [Windows] Unreviewed build fix following r160959. 4935 4936 * wtf/Platform.h: 4937 49382013-12-30 Anders Carlsson <andersca@apple.com> 4939 4940 Replace WTF::ThreadingOnce with std::call_once 4941 https://bugs.webkit.org/show_bug.cgi?id=126215 4942 4943 Reviewed by Sam Weinig. 4944 4945 * GNUmakefile.list.am: 4946 * wtf/CompilationThread.cpp: 4947 (WTF::initializeCompilationThreads): 4948 * wtf/ThreadingOnce.h: Removed. 4949 49502013-12-26 Sam Weinig <sam@webkit.org> 4951 4952 Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair 4953 https://bugs.webkit.org/show_bug.cgi?id=126253 4954 4955 Reviewed by Anders Carlsson. 4956 4957 * GNUmakefile.list.am: 4958 * WTF.vcxproj/WTF.vcxproj: 4959 * WTF.vcxproj/WTF.vcxproj.filters: 4960 * WTF.xcodeproj/project.pbxproj: 4961 * wtf/CMakeLists.txt: 4962 Add new files. 4963 4964 * wtf/HashMap.h: 4965 * wtf/RefPtrHashMap.h: 4966 Remove the old implementation of keys() and values() and replace it with one 4967 that uses IteratorPair. 4968 4969 * wtf/FilterIterator.h: Copied from Source/WebKit2/Shared/FilterIterator.h. 4970 * wtf/IteratorPair.h: Copied from Source/WebKit2/Shared/IteratorPair.h. 4971 49722013-12-27 Daniel Bates <dabates@apple.com> 4973 4974 [iOS] Upstream WebCore/page changes 4975 https://bugs.webkit.org/show_bug.cgi?id=126180 4976 4977 Reviewed by Darin Adler. 4978 4979 * wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default 4980 when building iOS with ENABLE(TOUCH_EVENTS). 4981 49822013-12-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 4983 4984 [Nix] Building with DRAG_SUPPORT enabled 4985 https://bugs.webkit.org/show_bug.cgi?id=126233 4986 4987 Reviewed by Daniel Bates. 4988 4989 * wtf/nix/FeatureDefinesNix.h: 4990 49912013-12-24 Commit Queue <commit-queue@webkit.org> 4992 4993 Unreviewed, rolling out r160959. 4994 http://trac.webkit.org/changeset/160959 4995 https://bugs.webkit.org/show_bug.cgi?id=126222 4996 4997 Caused Windows build to fail (Requested by rfong on #webkit). 4998 4999 * wtf/ByteSpinLock.h: 5000 (WTF::ByteSpinLock::lock): 5001 * wtf/Threading.h: 5002 * wtf/ThreadingPrimitives.h: 5003 (WTF::pauseBriefly): 5004 * wtf/ThreadingPthreads.cpp: 5005 (WTF::yield): 5006 * wtf/ThreadingWin.cpp: 5007 (WTF::yield): 5008 50092013-12-23 Benjamin Poulain <bpoulain@apple.com> 5010 5011 Fix the build after r161031 5012 5013 I enabled ENABLE_CSS_SELECTOR_JIT by accident. 5014 5015 * wtf/Platform.h: 5016 50172013-12-23 Zan Dobersek <zdobersek@igalia.com> 5018 5019 [GTK] Clean up compiler optimizations flags for libWTF, libJSC 5020 https://bugs.webkit.org/show_bug.cgi?id=126157 5021 5022 Reviewed by Gustavo Noronha Silva. 5023 5024 * GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets 5025 overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing 5026 is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway). 5027 50282013-12-20 Anders Carlsson <andersca@apple.com> 5029 5030 Replace yield() and pauseBriefly() with std::this_thread::yield() 5031 https://bugs.webkit.org/show_bug.cgi?id=126105 5032 5033 Reviewed by Sam Weinig. 5034 5035 * wtf/ByteSpinLock.h: 5036 (WTF::ByteSpinLock::lock): 5037 * wtf/Threading.h: 5038 * wtf/ThreadingPrimitives.h: 5039 * wtf/ThreadingPthreads.cpp: 5040 * wtf/ThreadingWin.cpp: 5041 50422013-12-20 Anders Carlsson <andersca@apple.com> 5043 5044 Speed up case folding for 8-bit strings 5045 https://bugs.webkit.org/show_bug.cgi?id=126098 5046 5047 Reviewed by Geoffrey Garen. 5048 5049 Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase. 5050 On a simple microbenchmark using a lookup table is about 15x faster. 5051 5052 * wtf/text/StringHash.h: 5053 (WTF::CaseFoldingHash::foldCase): 5054 * wtf/text/StringImpl.cpp: 5055 (WTF::equalIgnoringCase): 5056 * wtf/text/StringImpl.h: 5057 50582013-12-20 Myles C. Maxfield <mmaxfield@apple.com> 5059 5060 Faster implementation of text-decoration-skip: ink 5061 https://bugs.webkit.org/show_bug.cgi?id=125718 5062 5063 Reviewed by Simon Fraser. 5064 5065 This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK, 5066 which enables the use of the text-decoration-skip: ink CSS value. 5067 Creating this new value simplifies the logic about when to enable the 5068 codepath for this CSS value. 5069 5070 * wtf/Platform.h: 5071 50722013-12-20 Simon Fraser <simon.fraser@apple.com> 5073 5074 Change "threaded scrolling" terminology to "asynchronous scrolling" 5075 https://bugs.webkit.org/show_bug.cgi?id=126094 5076 5077 Reviewed by Tim Horton. 5078 5079 Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING. 5080 5081 * wtf/FeatureDefines.h: 5082 50832013-12-20 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 5084 5085 Build fails in debug mode after r160834. 5086 https://bugs.webkit.org/show_bug.cgi?id=126059 5087 5088 Reviewed by Csaba Osztrogonác. 5089 5090 Debug mode build failed due to comparing signed and unsigned in 5091 ASSERT(). Now both values are unsigned. 5092 5093 * wtf/dtoa/double-conversion.cc: 5094 50952013-12-19 Alex Christensen <achristensen@webkit.org> 5096 5097 Final preparations for GStreamer on Windows. 5098 https://bugs.webkit.org/show_bug.cgi?id=125958 5099 5100 Reviewed by Benjamin Poulain. 5101 5102 * WTF.vcxproj/WTFDebugWinCairo.props: 5103 * WTF.vcxproj/WTFReleaseWinCairo.props: 5104 Include WinCairo.props. 5105 * wtf/Platform.h: 5106 Use GLib and GStreamer on WinCairo with video. 5107 51082013-12-18 Daniel Bates <dabates@apple.com> 5109 5110 WTF, JavaScriptCore fails to build with trunk clang: operators new, new[], 5111 delete, delete[] cannot be declared inline 5112 https://bugs.webkit.org/show_bug.cgi?id=124186 5113 <rdar://problem/15644039> 5114 5115 Reviewed by Geoffrey Garen and Anders Carlsson. 5116 5117 Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044> 5118 (http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when 5119 operator new, delete are inlined. Such definitions cannot be inline per 5120 replacement.functions (17.6.4.6/3) of the C++ standard. For now, 5121 disable these warnings instead of exporting these functions. 5122 5123 * wtf/FastMalloc.h: 5124 51252013-12-19 Hugo Parente Lima <hugo.lima@openbossa.org> 5126 5127 WTF fails to compile with gcc 4.8.2 and -Werror=array-bounds 5128 https://bugs.webkit.org/show_bug.cgi?id=125936 5129 5130 Reviewed by Anders Carlsson. 5131 5132 * wtf/dtoa/double-conversion.cc: Use a unsigned instead of int on buffer_pos type. 5133 51342013-12-19 Peter Szanka <h868064@stud.u-szeged.hu> 5135 5136 Delete RVCT related code parts. 5137 https://bugs.webkit.org/show_bug.cgi?id=125626 5138 5139 Reviewed by Csaba Osztrogonác. 5140 5141 * wtf/Compiler.h: follow-up fix for r160648, remove an unnecessary comment. 5142 51432013-12-18 Alex Christensen <achristensen@webkit.org> 5144 5145 [WinCairo] Preparation for GStreamer on Windows. 5146 https://bugs.webkit.org/show_bug.cgi?id=125946 5147 5148 Reviewed by Brent Fulgham. 5149 5150 * WTF.vcxproj/WTF.vcxproj: 5151 Use new GStreamer property sheets for WinCairo. 5152 51532013-12-18 Mark Hahnenberg <mhahnenberg@apple.com> 5154 5155 DFG should have a separate StoreBarrier node 5156 https://bugs.webkit.org/show_bug.cgi?id=125530 5157 5158 Reviewed by Filip Pizlo. 5159 5160 * wtf/Platform.h: Added an #define for ENABLE(GGC) which will be used for landing things related to GenGC. 5161 51622013-12-16 Daniel Bates <dabates@apple.com> 5163 5164 [iOS] Upstream WebCore/html changes 5165 https://bugs.webkit.org/show_bug.cgi?id=125765 5166 5167 Reviewed by Darin Adler. 5168 5169 Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS. 5170 5171 * wtf/FeatureDefines.h: 5172 51732013-12-17 Alex Christensen <achristensen@webkit.org> 5174 5175 Compile fix for WebGL on Windows without GRAPHICS_SURFACE. 5176 https://bugs.webkit.org/show_bug.cgi?id=125867 5177 5178 Reviewed by Martin Robinson. 5179 5180 * wtf/FeatureDefines.h: 5181 Removed unused ENABLE_GLIB_SUPPORT macro. 5182 * wtf/Platform.h: 5183 Don't use GRAPHICS_SURFACE for WebGL on Windows. 5184 51852013-12-17 Alex Christensen <achristensen@webkit.org> 5186 5187 [Win] Fixed linker error with GStreamer. 5188 https://bugs.webkit.org/show_bug.cgi?id=124861 5189 5190 Reviewed by Martin Robinson. 5191 5192 * wtf/gobject/GOwnPtr.cpp: 5193 (WTF::GError): 5194 * wtf/gobject/GOwnPtr.h: 5195 Added WTF_EXPORT_PRIVATE to freeOwnedGPtr<GError> declaration and definition. 5196 51972013-12-17 Benjamin Poulain <benjamin@webkit.org> 5198 5199 Add a simple register allocator to WebCore for x86_64 5200 https://bugs.webkit.org/show_bug.cgi?id=125771 5201 5202 Reviewed by Geoffrey Garen. 5203 5204 * wtf/Platform.h: Add a new flag "CSS_SELECTOR_JIT" to guard 5205 an experimental JIT compiler in WebCore. 5206 52072013-12-16 Anders Carlsson <andersca@apple.com> 5208 5209 Remove EnumClass.h from WTF 5210 https://bugs.webkit.org/show_bug.cgi?id=125820 5211 5212 Reviewed by Darin Adler. 5213 5214 All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version. 5215 5216 * WTF.vcxproj/WTF.vcxproj: 5217 * WTF.vcxproj/WTF.vcxproj.filters: 5218 * WTF.xcodeproj/project.pbxproj: 5219 * wtf/CheckedArithmetic.h: 5220 * wtf/EnumClass.h: Removed. 5221 52222013-12-16 Brent Fulgham <bfulgham@apple.com> 5223 5224 [Win] Remove dead code after conversion to VS2013 5225 https://bugs.webkit.org/show_bug.cgi?id=125795 5226 5227 Reviewed by Darin Adler. 5228 5229 * wtf/Assertions.h: Include <inttypes.h> now that it exists. 5230 * wtf/Compiler.h: Update compiler checks for VS2013, and 5231 enable support for NEVER_INLINE 5232 * wtf/HashFunctions.h: 5233 (WTF::PtrHash::hash): Remove compiler workaround. 5234 * wtf/MathExtras.h: Remove C99 functions that are now supplied 5235 by the MS runtime library. 5236 * wtf/Platform.h: Remove old MSVC support flags. 5237 * wtf/StdLibExtras.h: Remove old MSVC workaround code. 5238 52392013-12-16 Alex Christensen <achristensen@webkit.org> 5240 5241 Fixed Win64 build on VS2013. 5242 https://bugs.webkit.org/show_bug.cgi?id=125753 5243 5244 Reviewed by Brent Fulgham. 5245 5246 * WTF.vcxproj/WTF.vcxproj: 5247 Added correct PlatformToolset for 64-bit builds. 5248 52492013-12-16 Peter Szanka <h868064@stud.u-szeged.hu> 5250 5251 Delete RVCT related code parts. 5252 https://bugs.webkit.org/show_bug.cgi?id=125626 5253 5254 Reviewed by Darin Adler. 5255 5256 * wtf/Assertions.h: 5257 * wtf/Compiler.h: 5258 * wtf/FastMalloc.h: 5259 * wtf/Platform.h: 5260 52612013-12-13 Brent Fulgham <bfulgham@apple.com> 5262 5263 [Win] Remove Pre-VS2013 support code. 5264 https://bugs.webkit.org/show_bug.cgi?id=125693 5265 5266 Reviewed by Darin Adler. 5267 5268 * wtf/StringPrintStream.cpp: 5269 (WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person. 5270 52712013-12-12 Darin Adler <darin@apple.com> 5272 5273 Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal 5274 https://bugs.webkit.org/show_bug.cgi?id=125658 5275 5276 Reviewed by Alexey Proskuryakov. 5277 5278 * wtf/text/Base64.cpp: 5279 (WTF::base64EncodeInternal): Use a reference to an array instead of a pointer 5280 for the table argument type so we check the size of the array at the call site. 5281 (WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the 5282 table so we don't load some random value for non-ASCII characters. 5283 52842013-12-13 Brent Fulgham <bfulgham@apple.com> 5285 5286 [Win] Unreviewed build fix after r160548 5287 5288 * WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using 5289 the vs12_xp target for Makefile-based projects. 5290 52912013-12-13 Anders Carlsson <andersca@apple.com> 5292 5293 Require variadic templates to build WebKit 5294 https://bugs.webkit.org/show_bug.cgi?id=125701 5295 5296 Reviewed by Andreas Kling. 5297 5298 * wtf/Compiler.h: 5299 Add an #error if variadic templates are disabled. 5300 5301 * wtf/NeverDestroyed.h: 5302 * wtf/PassRef.h: 5303 * wtf/StdLibExtras.h: 5304 Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs. 5305 53062013-12-13 Peter Szanka <h868064@stud.u-szeged.hu> 5307 5308 Delete INTEL C compiler related code parts. 5309 https://bugs.webkit.org/show_bug.cgi?id=125625 5310 5311 Reviewed by Darin Adler. 5312 5313 * wtf/Assertions.h: 5314 * wtf/Compiler.h: 5315 53162013-12-13 Brent Fulgham <bfulgham@apple.com> 5317 5318 [Win] Switch WebKit solution to Visual Studio 2013 5319 https://bugs.webkit.org/show_bug.cgi?id=125192 5320 5321 Reviewed by Anders Carlsson. 5322 5323 * WTF.vcxproj/WTF.vcxproj: Update for VS2013 5324 * WTF.vcxproj/WTF.vcxproj.filters: Ditto 5325 53262013-12-12 Brady Eidson <beidson@apple.com> 5327 5328 DatabaseProcess IndexedDB: Establish a metadata backing store on disk 5329 https://bugs.webkit.org/show_bug.cgi?id=125258 5330 5331 Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton. 5332 5333 * wtf/text/WTFString.h: Export toUInt64Strict(). 5334 53352013-12-12 Sam Weinig <sam@webkit.org> 5336 5337 Replace uses of WTF::BitArray with std::bitset 5338 https://bugs.webkit.org/show_bug.cgi?id=125642 5339 5340 Reviewed by Anders Carlsson. 5341 5342 * GNUmakefile.list.am: 5343 * WTF.vcxproj/WTF.vcxproj: 5344 * WTF.vcxproj/WTF.vcxproj.filters: 5345 * WTF.xcodeproj/project.pbxproj: 5346 * wtf/BitArray.h: Removed. 5347 * wtf/CMakeLists.txt: 5348 53492013-12-11 David Kilzer <ddkilzer@apple.com> 5350 5351 Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER) 5352 <http://webkit.org/b/125329> 5353 5354 Reviewed by Darin Adler. 5355 5356 * wtf/Assertions.h: Define macro 5357 ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether 5358 ASSERT_WITH_SECURITY_IMPLICATION() is enabled. 5359 53602013-12-11 Brendan Long <b.long@cablelabs.com> 5361 5362 Type punning error in MD5.cpp 5363 https://bugs.webkit.org/show_bug.cgi?id=125412 5364 5365 Reviewed by Darin Adler. 5366 5367 * wtf/MD5.cpp: 5368 (WTF::toLittleEndian): Renamed, and use memcpy instead of casting. 5369 (WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian. 5370 (WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error. 5371 53722013-12-11 Laszlo Vidacs <lac@inf.u-szeged.hu> 5373 5374 Store SHA1 hash in std::array 5375 https://bugs.webkit.org/show_bug.cgi?id=125446 5376 5377 Reviewed by Darin Adler. 5378 5379 Change Vector to std::array and use typedef. 5380 5381 * wtf/SHA1.cpp: 5382 (WTF::SHA1::computeHash): 5383 (WTF::SHA1::hexDigest): 5384 (WTF::SHA1::computeHexDigest): 5385 * wtf/SHA1.h: 5386 53872013-12-11 Oliver Hunt <oliver@apple.com> 5388 5389 Give Unique StringImpls a meaningful data pointer 5390 https://bugs.webkit.org/show_bug.cgi?id=125598 5391 5392 Reviewed by Michael Saboff. 5393 5394 Found by code inspection. If there is a collision in an Identifier 5395 table when comparing to a string literal we attempt to use the data 5396 pointer (essentially this ends up being a null termination check). 5397 5398 Previously unique pointers just used the literal 1 as the data address 5399 but this obviously fails when dereferenced. Instead we now make the 5400 data pointer point to the location of the buffer pointer itself. As 5401 the buffer pointer is initialised to 0, this satisfies the requirement 5402 that the 0-length unique string is null terminated. 5403 5404 * wtf/text/StringImpl.h: 5405 (WTF::StringImpl::StringImpl): 5406 54072013-12-10 Anders Carlsson <andersca@apple.com> 5408 5409 Add a HashMap constructor that takes an initializer list 5410 https://bugs.webkit.org/show_bug.cgi?id=125551 5411 5412 Reviewed by Dan Bernstein. 5413 5414 * wtf/HashMap.h: 5415 (WTF::HashMap::HashMap): 5416 54172013-12-10 Laszlo Vidacs <lac@inf.u-szeged.hu> 5418 5419 Use std::array when computing MD5 checksum 5420 https://bugs.webkit.org/show_bug.cgi?id=125509 5421 5422 Reviewed by Anders Carlsson. 5423 5424 Added MD5::Digest type and MD5::hashSize for computing MD5 checksum. 5425 5426 * wtf/MD5.cpp: 5427 (WTF::MD5::checksum): 5428 * wtf/MD5.h: 5429 54302013-12-10 Martin Robinson <mrobinson@igalia.com> 5431 5432 Various fixes for the CMake GTK+ build 5433 5434 Reviewed by Gustavo Noronha. 5435 5436 * wtf/PlatformGTK.cmake: Add Zlib library to the WTF build. 5437 54382013-12-09 Sam Weinig <sam@webkit.org> 5439 5440 Remove FixedArray 5441 https://bugs.webkit.org/show_bug.cgi?id=125478 5442 5443 Reviewed by Anders Carlsson. 5444 5445 * GNUmakefile.list.am: 5446 * WTF.vcxproj/WTF.vcxproj: 5447 * WTF.vcxproj/WTF.vcxproj.filters: 5448 * WTF.xcodeproj/project.pbxproj: 5449 * wtf/CMakeLists.txt: 5450 * wtf/FixedArray.h: Removed. 5451 54522013-12-09 Sam Weinig <sam@webkit.org> 5453 5454 Replace use of WTF::FixedArray with std::array 5455 https://bugs.webkit.org/show_bug.cgi?id=125475 5456 5457 Reviewed by Anders Carlsson. 5458 5459 * wtf/AVLTree.h: 5460 * wtf/Bitmap.h: 5461 * wtf/SixCharacterHash.cpp: 5462 (WTF::integerToSixCharacterHashString): 5463 * wtf/SixCharacterHash.h: 5464 54652013-12-06 Roger Fong <roger_fong@apple.com> and Brent Fulgham <bfulgham@apple.com> 5466 5467 [Win] Support compiling with VS2013 5468 https://bugs.webkit.org/show_bug.cgi?id=125353 5469 5470 Reviewed by Anders Carlsson. 5471 5472 * wtf/Compiler.h: Show proper features for VS2012 and VS2013. 5473 * wtf/MathExtras.h: Don't implement common C99 routines when 5474 they are available through the runtime libraries. 5475 * wtf/RetainPtr.h: 5476 (WTF::RetainPtr::operator bool): Added. 5477 * wtf/StdLibExtras.h: Use Microsoft's version of make_unique 5478 when it exists. 5479 54802013-12-06 Laszlo Vidacs <lac@inf.u-szeged.hu> 5481 5482 Define SHA1 hash size in SHA1.h and use it at various places. 5483 https://bugs.webkit.org/show_bug.cgi?id=125345 5484 5485 Reviewed by Darin Adler. 5486 5487 Use SHA1::hashSize instead of local variables. 5488 5489 * wtf/SHA1.h: define SHA1 hash size 5490 54912013-12-05 Iain Lane <iain.lane@canonical.com> 5492 5493 Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is 5494 no longer defined. 5495 https://bugs.webkit.org/show_bug.cgi?id=124502 5496 5497 Reviewed by Anders Carlsson. 5498 5499 * wtf/Atomics.cpp: 5500 55012013-12-04 Ryosuke Niwa <rniwa@webkit.org> 5502 5503 Enable HTMLTemplateElement by default 5504 https://bugs.webkit.org/show_bug.cgi?id=123851 5505 5506 Reviewed by Antti Koivisto. 5507 5508 * wtf/FeatureDefines.h: 5509 55102013-12-04 Dan Bernstein <mitz@apple.com> 5511 5512 Replace USE(SECURITY_FRAMEWORK) with finer-grained defines 5513 https://bugs.webkit.org/show_bug.cgi?id=125242 5514 5515 Reviewed by Sam Weinig. 5516 5517 * wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined 5518 HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN. 5519 55202013-12-03 Joseph Pecoraro <pecoraro@apple.com> 5521 5522 Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore 5523 https://bugs.webkit.org/show_bug.cgi?id=124613 5524 5525 Reviewed by Timothy Hatcher. 5526 5527 * wtf/ios/WebCoreThread.cpp: 5528 * wtf/ios/WebCoreThread.h: 5529 Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through 5530 WTF so that JavaScriptCore can use it. Another such method already existed. 5531 55322013-12-03 Mark Lam <mark.lam@apple.com> 5533 5534 testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size(). 5535 https://bugs.webkit.org/show_bug.cgi?id=121972. 5536 5537 Reviewed by Brent Fulgham. 5538 5539 * wtf/OSAllocatorWin.cpp: 5540 (WTF::OSAllocator::decommit): 5541 (WTF::OSAllocator::releaseDecommitted): 5542 - Added a check to ensure that the bytes to decommit / release is not 0. 5543 On Windows, a 0 length passed to VirtualFree() has a special meaning, 5544 and it's not "decommit / release nothing" as one would expect. Adding 5545 this check makes OSAllocatorWin consistent with OSAllocatorPosix for 5546 these 2 functions. 5547 55482013-12-02 Mark Lam <mark.lam@apple.com> 5549 5550 Build failure when disabling JIT, YARR_JIT, and ASSEMBLER. 5551 https://bugs.webkit.org/show_bug.cgi?id=123809. 5552 5553 Reviewed by Geoffrey Garen. 5554 5555 * wtf/Platform.h: 5556 - Ensure that the ASSEMBLER is enabled when the DISASSEMBLER is enabled. 5557 55582013-11-30 peavo@outlook.com <peavo@outlook.com> 5559 5560 [Win] Some JavaScript date tests are failing. 5561 https://bugs.webkit.org/show_bug.cgi?id=124946 5562 5563 Reviewed by Brent Fulgham. 5564 5565 Use native Win32 api functions to compute Daylight saving time offset. 5566 5567 * wtf/DateMath.cpp: 5568 (WTF::UnixTimeToFileTime): Added method to calculate Win32 specific struct FILETIME from time_t value. 5569 (WTF::calculateDSTOffset): Use native Win32 api functions to compute Daylight saving time offset. 5570 55712013-11-28 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 5572 5573 Nix Upstream: Updating Nix WTF files 5574 https://bugs.webkit.org/show_bug.cgi?id=124980 5575 5576 Reviewed by Csaba Osztrogonác. 5577 5578 Just to sync our private repo files and the trunk, as part of the upstream process. 5579 5580 * wtf/DisallowCType.h: 5581 * wtf/PlatformNix.cmake: 5582 * wtf/nix/FeatureDefinesNix.h: 5583 * wtf/nix/PlatformNix.h: 5584 * wtf/nix/RunLoopNix.cpp: Added. 5585 55862013-11-28 Antti Koivisto <antti@apple.com> 5587 5588 Remove feature: CSS variables 5589 https://bugs.webkit.org/show_bug.cgi?id=114119 5590 5591 Reviewed by Andreas Kling. 5592 5593 * wtf/FeatureDefines.h: 5594 55952013-11-26 Filip Pizlo <fpizlo@apple.com> 5596 5597 Do bytecode validation as part of testing 5598 https://bugs.webkit.org/show_bug.cgi?id=124913 5599 5600 Reviewed by Oliver Hunt. 5601 5602 * GNUmakefile.list.am: 5603 * WTF.vcxproj/WTF.vcxproj: 5604 * WTF.xcodeproj/project.pbxproj: 5605 * wtf/CMakeLists.txt: 5606 * wtf/FastBitVector.cpp: Added. 5607 (WTF::FastBitVector::dump): 5608 * wtf/FastBitVector.h: 5609 (WTF::FastBitVector::resize): 5610 (WTF::FastBitVector::bitCount): 5611 (WTF::FastBitVector::arrayLength): 5612 56132013-11-27 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 5614 5615 Remove Sparc specific code. 5616 https://bugs.webkit.org/show_bug.cgi?id=124941 5617 5618 Reviewed by Michael Saboff. 5619 5620 Sparc is not supported, remove leftover code. 5621 5622 * wtf/Platform.h: 5623 * wtf/dtoa/utils.h: 5624 56252013-11-26 Marcelo Lira <marcelo.lira@openbossa.org> 5626 5627 Nix upstreaming - Adding build files and supporting scripts 5628 https://bugs.webkit.org/show_bug.cgi?id=118367 5629 5630 Reviewed by Ryosuke Niwa. 5631 5632 * wtf/FeatureDefines.h: 5633 * wtf/Platform.h: 5634 * wtf/PlatformNix.cmake: Added. 5635 56362013-11-26 Drew Yao <ayao@apple.com> 5637 5638 ASSERT_WITH_SECURITY_IMPLICATION should crash in a distinct way. 5639 https://bugs.webkit.org/show_bug.cgi?id=124757 5640 5641 Change ASSERT_WITH_SECURITY_IMPLICATION to access a different address from CRASH() 5642 in order to help screen fuzzing bugs. 5643 5644 Reviewed by Brent Fulgham. 5645 5646 * wtf/Assertions.cpp: 5647 * wtf/Assertions.h: 5648 56492013-11-24 Tim Horton <timothy_horton@apple.com> 5650 5651 Upstream USE(IOSURFACE) from the iOS port 5652 https://bugs.webkit.org/show_bug.cgi?id=124814 5653 5654 Reviewed by Sam Weinig. 5655 5656 Some code guarded by USE(IOSURFACE) was recently upstreamed, 5657 but not the definition of WTF_USE_IOSURFACE itself. 5658 5659 * wtf/Platform.h: 5660 56612013-11-23 Xabier Rodriguez Calvar <calvaris@igalia.com> 5662 5663 [GStreamer] Remove 0.10 codepath 5664 https://bugs.webkit.org/show_bug.cgi?id=124534 5665 5666 Reviewed by Philippe Normand. 5667 5668 * wtf/Platform.h: Removed macro for GStreamer 1.0 as it is the 5669 only codepath now. 5670 56712013-11-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 5672 5673 Remove ENABLE_WORKERS 5674 https://bugs.webkit.org/show_bug.cgi?id=105784 5675 5676 Reviewed by Darin Adler. 5677 5678 * wtf/FeatureDefines.h: 5679 * wtf/nix/FeatureDefinesNix.h: 5680 56812013-11-21 Mark Rowe <mrowe@apple.com> 5682 5683 <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files. 5684 5685 Reviewed by Alexey Proskuryakov. 5686 5687 * Configurations/Base.xcconfig: 5688 56892013-11-20 Mark Lam <mark.lam@apple.com> 5690 5691 Introducing VMEntryScope to update the VM stack limit. 5692 https://bugs.webkit.org/show_bug.cgi?id=124634. 5693 5694 Reviewed by Geoffrey Garen. 5695 5696 * wtf/Platform.h: 5697 * wtf/StackBounds.h: 5698 (WTF::StackBounds::StackBounds): 5699 57002013-11-18 Filip Pizlo <fpizlo@apple.com> 5701 5702 Allow the FTL debug dumps to include the new size field 5703 https://bugs.webkit.org/show_bug.cgi?id=124479 5704 5705 Reviewed by Mark Hahnenberg. 5706 5707 * wtf/PrintStream.cpp: 5708 (WTF::printInternal): 5709 * wtf/PrintStream.h: 5710 57112013-11-17 Jer Noble <jer.noble@apple.com> 5712 5713 [WTF] Media time should not have a constructor which accepts a single int or float. 5714 https://bugs.webkit.org/show_bug.cgi?id=124470 5715 5716 Having a constructor taking a single number value, as it's very easy to accidentially mis- 5717 initialize a MediaTime with a double (automatically casted to a int64_t). 5718 5719 Reviewed by Eric Carlson. 5720 5721 * wtf/MediaTime.h: 5722 57232013-11-18 Csaba Osztrogonác <ossy@webkit.org> 5724 5725 URTBF after r159432 to make WinCairo build happy. 5726 5727 * wtf/text/WTFString.h: 5728 57292013-11-18 Carlos Garcia Campos <cgarcia@igalia.com> 5730 5731 Unreviewed. Fix make distcheck. 5732 5733 * GNUmakefile.list.am: Add missing header file. 5734 57352013-11-16 Alexey Proskuryakov <ap@apple.com> 5736 5737 Use uint8_t vectors for WebCrypto data 5738 https://bugs.webkit.org/show_bug.cgi?id=124466 5739 5740 Reviewed by Sam Weinig. 5741 5742 Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary 5743 binary data, in which case "uint8_t*" is more common. 5744 5745 Changed encode functions that took "const char *" to "const void*", and decode 5746 functions that took "Vector<char>&" now take an adapter class. 5747 5748 The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout. 5749 5750 * wtf/text/Base64.cpp: 5751 (WTF::base64Encode): 5752 (WTF::base64URLEncode): 5753 (WTF::base64DecodeInternal): 5754 (WTF::base64Decode): 5755 (WTF::base64URLDecode): 5756 * wtf/text/Base64.h: 5757 (WTF::SignedOrUnsignedCharVectorAdapter): 5758 (WTF::ConstSignedOrUnsignedCharVectorAdapter): 5759 (WTF::base64Encode): 5760 (WTF::base64URLEncode): 5761 57622013-11-15 Alexey Proskuryakov <ap@apple.com> 5763 5764 Support exporting symmetric keys as JWK 5765 https://bugs.webkit.org/show_bug.cgi?id=124442 5766 5767 Reviewed by Sam Weinig. 5768 5769 Base64URL encoding doesn't use '=' padding, and doesn't need any other options. 5770 Added this mode for encode, and removed policy arguments from exposed functions. 5771 5772 * wtf/text/Base64.cpp: 5773 (WTF::base64EncodeInternal): 5774 (WTF::base64URLEncode): 5775 (WTF::base64URLDecode): 5776 * wtf/text/Base64.h: 5777 (WTF::base64URLEncode): 5778 57792013-11-15 Mark Hahnenberg <mhahnenberg@apple.com> 5780 5781 Remove VTableSpectrum 5782 https://bugs.webkit.org/show_bug.cgi?id=124427 5783 5784 Reviewed by Filip Pizlo. 5785 5786 * wtf/Platform.h: 5787 57882013-11-15 Jer Noble <jer.noble@apple.com> 5789 5790 MediaTime addition and subtraction operators have errors when the rhs is infinite. 5791 https://bugs.webkit.org/show_bug.cgi?id=124413 5792 5793 Reviewed by Eric Carlson. 5794 5795 Correctly account for infinities that can occur on the right-hand side of addition or 5796 subtraction operators. 5797 5798 * wtf/MediaTime.cpp: 5799 (WTF::MediaTime::operator+): 5800 (WTF::MediaTime::operator-): 5801 58022013-11-14 Oliver Hunt <oliver@apple.com> 5803 5804 Make CLoop easier to build, and make it work 5805 https://bugs.webkit.org/show_bug.cgi?id=124359 5806 5807 Reviewed by Geoffrey Garen. 5808 5809 Make building with the CLoop forcibly enabled manually 5810 disable the JITs 5811 5812 * wtf/Platform.h: 5813 58142013-11-14 Andreas Kling <akling@apple.com> 5815 5816 FontDescription copies should share families list, not duplicate it. 5817 <https://webkit.org/b/124338> 5818 5819 Add RefCountedArray::operator==. 5820 5821 Reviewed by Antti Koivisto. 5822 58232013-11-13 Anders Carlsson <andersca@apple.com> 5824 5825 Add a Vector constructor that takes an std::initializer_list 5826 https://bugs.webkit.org/show_bug.cgi?id=124287 5827 5828 Reviewed by Antti Koivisto. 5829 5830 * wtf/Compiler.h: 5831 * wtf/Vector.h: 5832 (WTF::Vector::Vector): 5833 58342013-11-12 Brent Fulgham <bfulgham@apple.com> 5835 5836 [Win] Unreviewed gardening. 5837 5838 * WTF.vcxproj/WTF.vcxproj.filters: Tidy up filters so files show up 5839 in their proper directories. 5840 58412013-11-12 Alex Christensen <achristensen@webkit.org> 5842 5843 Build GStreamer files on Windows. 5844 https://bugs.webkit.org/show_bug.cgi?id=124180 5845 5846 Reviewed by Brent Fulgham. 5847 5848 * WTF.vcxproj/WTF.vcxproj: 5849 * WTF.vcxproj/WTF.vcxproj.filters: 5850 * WTF.vcxproj/copy-files.cmd: 5851 Include gobject files in WinCairo build. 5852 58532013-11-09 Filip Pizlo <fpizlo@apple.com> 5854 5855 Switch FTL GetById/PutById IC's over to using AnyRegCC 5856 https://bugs.webkit.org/show_bug.cgi?id=124094 5857 5858 Reviewed by Sam Weinig. 5859 5860 I needed to add another set operation, namely filter(), which is an in-place set 5861 intersection. 5862 5863 * wtf/BitVector.cpp: 5864 (WTF::BitVector::filterSlow): 5865 * wtf/BitVector.h: 5866 (WTF::BitVector::filter): 5867 58682013-11-10 Ryuan Choi <ryuan.choi@samsung.com> 5869 5870 [EFL] Build break on Ubuntu 13.10 5871 https://bugs.webkit.org/show_bug.cgi?id=124131 5872 5873 Reviewed by Gyuyoung Kim. 5874 5875 Turned DisallowCType macros off on EFL port because gtest-internal.h uses isspace(). 5876 5877 * wtf/DisallowCType.h: Added !PLATFORM(EFL) guard. 5878 58792013-11-09 Patrick Gansterer <paroga@webkit.org> 5880 5881 Move RunLoop from WebCore to WTF 5882 https://bugs.webkit.org/show_bug.cgi?id=116606 5883 5884 Reviewed by Anders Carlsson. 5885 5886 With this change RunLoop can be used in JavaScriptCore too. 5887 5888 * GNUmakefile.list.am: 5889 * WTF.vcxproj/WTF.vcxproj: 5890 * WTF.xcodeproj/project.pbxproj: 5891 * wtf/CMakeLists.txt: 5892 * wtf/PlatformBlackBerry.cmake: 5893 * wtf/PlatformEfl.cmake: 5894 * wtf/PlatformGTK.cmake: 5895 * wtf/PlatformWin.cmake: 5896 * wtf/RunLoop.cpp: Renamed from Source/WebCore/platform/RunLoop.cpp. 5897 (WTF::RunLoop::Holder::Holder): 5898 (WTF::RunLoop::Holder::runLoop): 5899 (WTF::RunLoop::initializeMainRunLoop): 5900 (WTF::RunLoop::current): 5901 (WTF::RunLoop::main): 5902 (WTF::RunLoop::isMain): 5903 (WTF::RunLoop::performWork): 5904 (WTF::RunLoop::dispatch): 5905 * wtf/RunLoop.h: Renamed from Source/WebCore/platform/RunLoop.h. 5906 (WTF::RunLoop::TimerBase::startRepeating): 5907 (WTF::RunLoop::TimerBase::startOneShot): 5908 (WTF::RunLoop::TimerBase::isRepeating): 5909 (WTF::RunLoop::Timer::Timer): 5910 (WTF::RunLoop::Timer::fired): 5911 * wtf/blackberry/RunLoopBlackBerry.cpp: Renamed from Source/WebCore/platform/blackberry/RunLoopBlackBerry.cpp. 5912 (WTF::RunLoop::RunLoop): 5913 (WTF::RunLoop::~RunLoop): 5914 (WTF::RunLoop::wakeUp): 5915 * wtf/cf/RunLoopCF.cpp: Renamed from Source/WebCore/platform/cf/RunLoopCF.cpp. 5916 (WTF::RunLoop::performWork): 5917 (WTF::RunLoop::RunLoop): 5918 (WTF::RunLoop::~RunLoop): 5919 (WTF::RunLoop::runForDuration): 5920 (WTF::RunLoop::wakeUp): 5921 (WTF::RunLoop::run): 5922 (WTF::RunLoop::stop): 5923 (WTF::RunLoop::TimerBase::timerFired): 5924 (WTF::RunLoop::TimerBase::TimerBase): 5925 (WTF::RunLoop::TimerBase::~TimerBase): 5926 (WTF::RunLoop::TimerBase::start): 5927 (WTF::RunLoop::TimerBase::stop): 5928 (WTF::RunLoop::TimerBase::isActive): 5929 * wtf/efl/RunLoopEfl.cpp: Renamed from Source/WebCore/platform/efl/RunLoopEfl.cpp. 5930 (WTF::RunLoop::RunLoop): 5931 (WTF::RunLoop::~RunLoop): 5932 (WTF::RunLoop::run): 5933 (WTF::RunLoop::stop): 5934 (WTF::RunLoop::wakeUpEvent): 5935 (WTF::RunLoop::wakeUp): 5936 (WTF::RunLoop::TimerBase::TimerBase): 5937 (WTF::RunLoop::TimerBase::~TimerBase): 5938 (WTF::RunLoop::TimerBase::timerFired): 5939 (WTF::RunLoop::TimerBase::start): 5940 (WTF::RunLoop::TimerBase::stop): 5941 (WTF::RunLoop::TimerBase::isActive): 5942 * wtf/gtk/RunLoopGtk.cpp: Renamed from Source/WebCore/platform/gtk/RunLoopGtk.cpp. 5943 (WTF::RunLoop::RunLoop): 5944 (WTF::RunLoop::~RunLoop): 5945 (WTF::RunLoop::run): 5946 (WTF::RunLoop::innermostLoop): 5947 (WTF::RunLoop::pushNestedMainLoop): 5948 (WTF::RunLoop::popNestedMainLoop): 5949 (WTF::RunLoop::stop): 5950 (WTF::RunLoop::queueWork): 5951 (WTF::RunLoop::wakeUp): 5952 (WTF::RunLoop::TimerBase::TimerBase): 5953 (WTF::RunLoop::TimerBase::~TimerBase): 5954 (WTF::RunLoop::TimerBase::clearTimerSource): 5955 (WTF::RunLoop::TimerBase::timerFiredCallback): 5956 (WTF::RunLoop::TimerBase::start): 5957 (WTF::RunLoop::TimerBase::stop): 5958 (WTF::RunLoop::TimerBase::isActive): 5959 * wtf/win/RunLoopWin.cpp: Renamed from Source/WebCore/platform/win/RunLoopWin.cpp. 5960 (WTF::RunLoop::RunLoopWndProc): 5961 (WTF::RunLoop::wndProc): 5962 (WTF::RunLoop::run): 5963 (WTF::RunLoop::stop): 5964 (WTF::RunLoop::registerRunLoopMessageWindowClass): 5965 (WTF::RunLoop::RunLoop): 5966 (WTF::RunLoop::~RunLoop): 5967 (WTF::RunLoop::wakeUp): 5968 (WTF::RunLoop::TimerBase::timerFired): 5969 (WTF::generateTimerID): 5970 (WTF::RunLoop::TimerBase::TimerBase): 5971 (WTF::RunLoop::TimerBase::~TimerBase): 5972 (WTF::RunLoop::TimerBase::start): 5973 (WTF::RunLoop::TimerBase::stop): 5974 (WTF::RunLoop::TimerBase::isActive): 5975 59762013-11-08 Alexey Proskuryakov <ap@apple.com> 5977 5978 Make base64url decoding actually work 5979 https://bugs.webkit.org/show_bug.cgi?id=124050 5980 5981 Reviewed by Sam Weinig. 5982 5983 * wtf/text/Base64.cpp: (WTF::base64DecodeInternal): Don't hardcode knowledge about 5984 alphabet, put it into the map. 5985 59862013-11-07 Denis Nomiyama <d.nomiyama@samsung.com> 5987 5988 [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise 5989 https://bugs.webkit.org/show_bug.cgi?id=50619 5990 5991 Reviewed by Martin Robinson. 5992 5993 Enabled OPENTYPE_VERTICAL by default on GTK+ and EFL ports, which are 5994 currently using Freetype. 5995 5996 * wtf/Platform.h: 5997 59982013-11-06 Daniel Bates <dabates@apple.com> 5999 6000 [iOS] Upstream Letterpress effect 6001 https://bugs.webkit.org/show_bug.cgi?id=123932 6002 6003 Reviewed by Sam Weinig. 6004 6005 Add feature define ENABLE_LETTERPRESS disabled by default. We only enable 6006 letterpress on iOS. 6007 6008 * wtf/FeatureDefines.h: 6009 60102013-11-06 Nick Diego Yamane <nick.yamane@openbossa.org> 6011 6012 Disable "unused local typedefs" warning for GCC 4.7 6013 https://bugs.webkit.org/show_bug.cgi?id=123913 6014 6015 Reviewed by Martin Robinson. 6016 6017 That warning was actually introduced in gcc 4.7.0. 6018 See: http://gcc.gnu.org/gcc-4.7/changes.html 6019 6020 * wtf/Compiler.h: 6021 60222013-11-06 Daniel Bates <dabates@apple.com> 6023 6024 Add ENABLE(TEXT_SELECTION) 6025 https://bugs.webkit.org/show_bug.cgi?id=123827 6026 6027 Reviewed by Ryosuke Niwa. 6028 6029 Enable selection painting by default on all ports except iOS. 6030 6031 * wtf/FeatureDefines.h: 6032 60332013-11-04 Alexey Proskuryakov <ap@apple.com> 6034 6035 Implement base64url encoding from RFC 4648 6036 https://bugs.webkit.org/show_bug.cgi?id=123767 6037 6038 Reviewed by Sam Weinig. 6039 6040 No tests yet, will be covered by JWK tests for WebCrypto. 6041 6042 * wtf/text/Base64.cpp: 6043 (WTF::base64EncodeInternal): 6044 (WTF::base64Encode): 6045 (WTF::base64URLEncode): 6046 (WTF::base64DecodeInternal): 6047 (WTF::base64Decode): 6048 (WTF::base64URLDecode): 6049 * wtf/text/Base64.h: 6050 (WTF::base64URLEncode): 6051 60522013-11-04 Brent Fulgham <bfulgham@apple.com> 6053 6054 [Win] User VersionStamper for official builds 6055 https://bugs.webkit.org/show_bug.cgi?id=123758 6056 6057 Reviewed by Tim Horton. 6058 6059 * WTF.vcxproj/WTFPostBuild.cmd: Add missing command to run VersionStamper.exe. 6060 60612013-11-01 Jer Noble <jer.noble@apple.com> 6062 6063 [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement. 6064 https://bugs.webkit.org/show_bug.cgi?id=123621 6065 6066 Reviewed by Eric Carlson. 6067 6068 Enable WTF_USE_AVFOUNDATION and add some HAVE_AVFOUNDATION_* defines 6069 to replace the existing __MAC_OS_X_VERSION_MIN_REQUIRED macros in 6070 MediaPlayerPrivateAVFoundationObjC.mm. 6071 6072 * wtf/Platform.h: 6073 60742013-11-02 Patrick Gansterer <paroga@webkit.org> 6075 6076 Fix compilation of DateMath.cpp with MSVC 6077 https://bugs.webkit.org/show_bug.cgi?id=123680 6078 6079 Reviewed by Darin Adler. 6080 6081 * wtf/DateMath.cpp: 6082 (WTF::appendTwoDigitNumber): Help the compiler finding the 6083 correct overload by casting the characters to LChar. 6084 60852013-11-02 Filip Pizlo <fpizlo@apple.com> 6086 6087 LLVM assertion failures should funnel into WTF's crash handling 6088 https://bugs.webkit.org/show_bug.cgi?id=123682 6089 6090 Reviewed by Geoffrey Garen. 6091 6092 Give JSC some new toys to play with for crash handling. 6093 6094 * wtf/Assertions.cpp: 6095 * wtf/Assertions.h: 6096 60972013-11-02 Patrick Gansterer <paroga@webkit.org> 6098 6099 Fix UnicodeWchar after r157330. 6100 https://bugs.webkit.org/show_bug.cgi?id=123668 6101 6102 Reviewed by Darin Adler. 6103 6104 * wtf/unicode/wchar/UnicodeWchar.cpp: 6105 (unorm_normalize): 6106 (u_strFoldCase): 6107 (u_strToLower): 6108 (u_strToUpper): 6109 * wtf/unicode/wchar/UnicodeWchar.h: 6110 (u_foldCase): 6111 (u_isprint): 6112 (u_isspace): 6113 61142013-11-02 Andreas Kling <akling@apple.com> 6115 6116 Make remaining StringImpl functions return PassRef. 6117 <https://webkit.org/b/123683> 6118 6119 Okay, this seems to work well! Let's go all in and convert the 6120 remaining StringImpl functions to return PassRef<StringImpl> instead 6121 of PassRefPtr where we know that null is never returned. 6122 6123 Reviewed by Anders Carlsson. 6124 61252013-11-02 Andreas Kling <akling@apple.com> 6126 6127 StringImpl::upper() should return PassRef. 6128 <https://webkit.org/b/123655> 6129 6130 Make upper() return PassRef<StringImpl>. Spotted and removed some 6131 ref churning in implementations. 6132 6133 Reviewed by Darin Adler. 6134 61352013-11-01 Alexey Proskuryakov <ap@apple.com> 6136 6137 Add WebCrypto AES-CBC 6138 https://bugs.webkit.org/show_bug.cgi?id=123647 6139 6140 Reviewed by Anders Carlsson. 6141 6142 * wtf/FixedArray.h: (WTF::FixedArray::data): Added a const version of the function. 6143 6144 * wtf/Vector.h: Added a comment to Vector constructor about how it is different 6145 from std::vector. 6146 61472013-11-01 Joseph Pecoraro <pecoraro@apple.com> 6148 6149 Unreviewed extended attempt at Windows build fix after r158471. 6150 6151 * wtf/text/cf/AtomicStringCF.cpp: 6152 * wtf/text/cf/StringCF.cpp: 6153 * wtf/text/cf/StringImplCF.cpp: 6154 61552013-11-01 Joseph Pecoraro <pecoraro@apple.com> 6156 6157 Unreviewed attempt at Windows build fix after r158471. 6158 6159 * wtf/text/cf/AtomicStringCF.cpp: 6160 * wtf/text/cf/StringCF.cpp: 6161 * wtf/text/cf/StringImplCF.cpp: 6162 61632013-11-01 Andreas Kling <akling@apple.com> 6164 6165 Make more StringImpl construction helpers return PassRef. 6166 <https://webkit.org/b/123652> 6167 6168 Tweak another handful of StringImpl constructor functions to return 6169 PassRef<StringImpl> instead of PassRefPtr. 6170 6171 Reviewed by Anders Carlsson. 6172 61732013-11-01 Andreas Kling <akling@apple.com> 6174 6175 Neuter WTF_MAKE_FAST_ALLOCATED in GLOBAL_FASTMALLOC_NEW builds. 6176 <https://webkit.org/b/123639> 6177 6178 When building with GLOBAL_FASTMALLOC_NEW, we don't need to expand 6179 operator new/delete overrides in every class. 6180 6181 This change makes allocations group up nicely in Instruments, 6182 instead of being split between "WTF::fastMalloc" and "operator new" 6183 depending on whether the class had WTF_MAKE_FAST_ALLOCATED. 6184 6185 Reviewed by Anders Carlsson. 6186 61872013-11-01 Joseph Pecoraro <pecoraro@apple.com> 6188 6189 Move CF/Mac WTF String implementations down into WTF 6190 https://bugs.webkit.org/show_bug.cgi?id=123635 6191 6192 Reviewed by Sam Weinig. 6193 6194 * WTF.vcxproj/WTF.vcxproj: 6195 * WTF.vcxproj/WTF.vcxproj.filters: 6196 * WTF.xcodeproj/project.pbxproj: 6197 * wtf/text/AtomicString.h: 6198 * wtf/text/StringImpl.h: 6199 * wtf/text/WTFString.h: 6200 * wtf/text/cf/AtomicStringCF.cpp: Renamed from Source/WebCore/platform/text/cf/AtomicStringCF.cpp. 6201 (WTF::AtomicString::add): 6202 * wtf/text/cf/StringCF.cpp: Renamed from Source/WebCore/platform/text/cf/StringCF.cpp. 6203 (WTF::String::String): 6204 (WTF::String::createCFString): 6205 * wtf/text/cf/StringImplCF.cpp: Renamed from Source/WebCore/platform/text/cf/StringImplCF.cpp. 6206 (garbageCollectionEnabled): 6207 (WTF::StringWrapperCFAllocator::retain): 6208 (WTF::StringWrapperCFAllocator::release): 6209 (WTF::StringWrapperCFAllocator::copyDescription): 6210 (WTF::StringWrapperCFAllocator::allocate): 6211 (WTF::StringWrapperCFAllocator::reallocate): 6212 (WTF::StringWrapperCFAllocator::deallocateOnMainThread): 6213 (WTF::StringWrapperCFAllocator::deallocate): 6214 (WTF::StringWrapperCFAllocator::preferredSize): 6215 (WTF::StringWrapperCFAllocator::create): 6216 (WTF::StringWrapperCFAllocator::allocator): 6217 (WTF::StringImpl::createCFString): 6218 * wtf/text/mac/StringImplMac.mm: Renamed from Source/WebCore/platform/text/mac/StringImplMac.mm. 6219 (WTF::StringImpl::operator NSString *): 6220 * wtf/text/mac/StringMac.mm: Renamed from Source/WebCore/platform/text/mac/StringMac.mm. 6221 (WTF::String::String): 6222 62232013-11-01 Emilio Pozuelo Monfort <pochu27@gmail.com> 6224 6225 HPPA build fixes 6226 https://bugs.webkit.org/show_bug.cgi?id=123625 6227 6228 Original patch from John David Anglin <dave.anglin@bell.net> 6229 6230 Reviewed by Darin Adler. 6231 6232 * wtf/Platform.h: 6233 * wtf/dtoa/utils.h: 6234 62352013-11-01 Patrick Gansterer <paroga@webkit.org> 6236 6237 Buildfix for !USE(ICU_UNICODE) after 156968. 6238 6239 * wtf/unicode/CollatorDefault.cpp: 6240 (WTF::Collator::userDefault): 6241 62422013-10-30 Oliver Hunt <oliver@apple.com> 6243 6244 Implement basic ES6 Math functions 6245 https://bugs.webkit.org/show_bug.cgi?id=123536 6246 6247 Reviewed by Michael Saboff. 6248 6249 Add basic implementations of necessary methods to MathExtras to 6250 deal with MSVC not supplying them 6251 6252 * wtf/MathExtras.h: 6253 (asinh): 6254 (acosh): 6255 (atanh): 6256 (expm1): 6257 (log1p): 6258 (cbrt): 6259 62602013-10-30 Commit Queue <commit-queue@webkit.org> 6261 6262 Unreviewed, rolling out r158299. 6263 http://trac.webkit.org/changeset/158299 6264 https://bugs.webkit.org/show_bug.cgi?id=123558 6265 6266 caused assertion failures in fast/canvas/canvas-color- 6267 serialization.html and fast/forms/input-text-paste- 6268 maxlength.html (Requested by rniwa on #webkit). 6269 6270 * wtf/text/StringStatics.cpp: 6271 (WTF::StringImpl::empty): 6272 62732013-10-30 Ryosuke Niwa <rniwa@webkit.org> 6274 6275 Remove code for Mac Lion 6276 https://bugs.webkit.org/show_bug.cgi?id=123542 6277 6278 Reviewed by Anders Carlsson. 6279 6280 * wtf/Platform.h: 6281 62822013-10-30 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 6283 6284 Remove PCRE workaround. 6285 https://bugs.webkit.org/show_bug.cgi?id=123265 6286 6287 Reviewed by Brent Fulgham. 6288 6289 * wtf/text/StringStatics.cpp: 6290 (WTF::StringImpl::empty): 6291 62922013-10-30 peavo@outlook.com <peavo@outlook.com> 6293 6294 [Win] Compile errors when enabling DFG JIT. 6295 https://bugs.webkit.org/show_bug.cgi?id=120998 6296 6297 Reviewed by Brent Fulgham. 6298 6299 * wtf/CompilationThread.cpp: Use new ThreadingOnce class instead of pthread_once. 6300 (WTF::initializeCompilationThreads): 6301 * wtf/ThreadingOnce.h: Added ThreadingOnce class encapsulating pthread_once functionality. 6302 (WTF::ThreadingOnce::ThreadingOnce): 6303 (WTF::ThreadingOnce::~ThreadingOnce): 6304 (WTF::ThreadingOnce::callOnce): 6305 * wtf/text/CString.h: Export needed symbols. 6306 63072013-10-30 Alex Christensen <achristensen@webkit.org> 6308 6309 Disabled JIT on Win64. 6310 https://bugs.webkit.org/show_bug.cgi?id=122472 6311 6312 Reviewed by Geoffrey Garen. 6313 6314 * wtf/Platform.h: 6315 Disabled JIT on Win64. 6316 63172013-10-29 Andreas Kling <akling@apple.com> 6318 6319 StringImpl::isolatedCopy() should return PassRef. 6320 <https://webkit.org/b/123484> 6321 6322 Make isolatedCopy() return a PassRef<StringImpl>. 6323 6324 Reviewed by Anders Carlsson. 6325 63262013-10-29 Jer Noble <jer.noble@apple.com> 6327 6328 [MSE] [Mac] Enable MediaSource on the Mac 6329 https://bugs.webkit.org/show_bug.cgi?id=122484 6330 6331 Reviewed by Darin Adler. 6332 6333 Enable ENABLE_MEDIA_SOURCE. 6334 6335 * wtf/FeatureDefines.h: 6336 * wtf/Platform.h: Force a clean build. 6337 63382013-10-29 Andreas Kling <akling@apple.com> 6339 6340 StringImpl::adopt() should return PassRef. 6341 <https://webkit.org/b/123456> 6342 6343 Make the StringImpl::adopt() functions return a PassRef<StringImpl>. 6344 6345 Reviewed by Anders Carlsson. 6346 63472013-10-29 Jinwoo Song <jinwoo7.song@samsung.com> 6348 6349 Re-enable simple line layout for EFL 6350 https://bugs.webkit.org/show_bug.cgi?id=123402 6351 6352 Reviewed by Antti Koivisto. 6353 6354 * wtf/FeatureDefines.h: Enable 8-bit TextRun support for EFL port. 6355 63562013-10-28 Anders Carlsson <andersca@apple.com> 6357 6358 RunLoop::dispatch should take an std::function 6359 https://bugs.webkit.org/show_bug.cgi?id=123407 6360 6361 Reviewed by Andreas Kling. 6362 6363 * wtf/FunctionDispatcher.h: 6364 63652013-10-28 Andreas Kling <akling@apple.com> 6366 6367 RenderElement::m_style should be a Ref. 6368 <https://webkit.org/b/123401> 6369 6370 Added a Ref::replace() so we can Indiana Jones the new style in 6371 RenderElement::setStyle() while keeping a handle on the old style 6372 for a while longer. 6373 6374 Reviewed by Antti Koivisto. 6375 63762013-10-28 Carlos Garcia Campos <cgarcia@igalia.com> 6377 6378 Unreviewed. Fix make distcheck. 6379 6380 * GNUmakefile.list.am: Remove unexistent file from compilation. 6381 63822013-10-28 Bastien Nocera <hadess@hadess.net> 6383 6384 Replace 0 timeouts g_timeout_add() by g_idle_add() 6385 https://bugs.webkit.org/show_bug.cgi?id=123260 6386 6387 Reviewed by Carlos Garcia Campos. 6388 6389 A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...) 6390 without the nagging feeling that the wrong API was used. 6391 6392 * wtf/gtk/MainThreadGtk.cpp: Use g_idle_add() instead 6393 of 0-timer. 6394 (WTF::scheduleDispatchFunctionsOnMainThread): 6395 63962013-10-28 Zan Dobersek <zdobersek@igalia.com> 6397 6398 Re-enable simple line layout for GTK 6399 https://bugs.webkit.org/show_bug.cgi?id=123388 6400 6401 Reviewed by Andreas Kling. 6402 6403 * wtf/FeatureDefines.h: Enable the 8-bit TextRun support for the GTK port. 6404 64052013-10-25 Joseph Pecoraro <pecoraro@apple.com> 6406 6407 Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac 6408 https://bugs.webkit.org/show_bug.cgi?id=123111 6409 6410 Reviewed by Timothy Hatcher. 6411 6412 * wtf/FeatureDefines.h: 6413 64142013-10-25 Jer Noble <jer.noble@apple.com> 6415 6416 [WTF] Add a multiplication operator (and a few others) to MediaTime 6417 https://bugs.webkit.org/show_bug.cgi?id=123137 6418 6419 Reviewed by Eric Carlson. 6420 6421 Add a multiplication operator and an inequality operator to the 6422 MediaTime class for use by MSE. 6423 6424 * wtf/MediaTime.cpp: 6425 (WTF::signum): Moved to top of file. 6426 (WTF::MediaTime::operator*): Added. 6427 (WTF::MediaTime::operator!=): Added. 6428 * wtf/MediaTime.h: 6429 (WTF::operator*): Added non-class version of operator*. 6430 64312013-10-24 Jer Noble <jer.noble@apple.com> 6432 6433 [Mac] Add helper methods to convert CMTime <--> MediaTime 6434 https://bugs.webkit.org/show_bug.cgi?id=123285 6435 6436 Reviewed by Eric Carlson. 6437 6438 Add a #ifdef header_h protector. 6439 6440 * wtf/MediaTime.h: 6441 64422013-10-24 Mark Rowe <mrowe@apple.com> 6443 6444 Remove references to OS X 10.7 from Xcode configuration settings. 6445 6446 Now that we're not building for OS X 10.7 they're no longer needed. 6447 6448 Reviewed by Anders Carlsson. 6449 6450 * Configurations/Base.xcconfig: 6451 * Configurations/DebugRelease.xcconfig: 6452 64532013-10-24 Mark Rowe <mrowe@apple.com> 6454 6455 <rdar://problem/15312643> Prepare for the mysterious future. 6456 6457 Reviewed by David Kilzer. 6458 6459 * Configurations/Base.xcconfig: 6460 * Configurations/DebugRelease.xcconfig: 6461 64622013-10-24 Commit Queue <commit-queue@webkit.org> 6463 6464 Unreviewed, rolling out r157931. 6465 http://trac.webkit.org/changeset/157931 6466 https://bugs.webkit.org/show_bug.cgi?id=123284 6467 6468 Seems to have caused a lot of assertions on debug bots 6469 (Requested by ap on #webkit). 6470 6471 * wtf/text/StringStatics.cpp: 6472 (WTF::StringImpl::empty): 6473 64742013-10-24 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 6475 6476 Remove PCRE workaround. 6477 https://bugs.webkit.org/show_bug.cgi?id=123265 6478 6479 Reviewed by Darin Adler. 6480 6481 * wtf/text/StringStatics.cpp: 6482 (WTF::StringImpl::empty): 6483 64842013-10-24 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 6485 6486 Remove Clang workaround. 6487 https://bugs.webkit.org/show_bug.cgi?id=123262 6488 6489 Reviewed by Anders Carlsson. 6490 6491 * wtf/CheckedArithmetic.h: 6492 (WTF::Checked::Checked): 6493 64942013-10-24 Ryuan Choi <ryuan.choi@samsung.com> 6495 6496 [EFL] Build break with latest EFL 1.8 libraries. 6497 https://bugs.webkit.org/show_bug.cgi?id=123245 6498 6499 Reviewed by Gyuyoung Kim. 6500 6501 After fixed build break on EFL 1.8 at r138326, EFL libraries are changed 6502 Eo typedef and splitted header files which contain version macro. 6503 6504 * wtf/OwnPtrCommon.h: Changed Eo typedef. 6505 * wtf/efl/RefPtrEfl.h: Ditto. 6506 65072013-10-24 Carlos Garcia Campos <cgarcia@igalia.com> 6508 6509 [GObject bindings] Make EventTarget interface introspectable 6510 https://bugs.webkit.org/show_bug.cgi?id=77835 6511 6512 Reviewed by Gustavo Noronha Silva. 6513 6514 Add support for use GRefPtr with GClosure. 6515 6516 * wtf/gobject/GRefPtr.cpp: 6517 (WTF::refGPtr): 6518 (WTF::derefGPtr): 6519 * wtf/gobject/GRefPtr.h: 6520 * wtf/gobject/GTypedefs.h: 6521 65222013-10-23 Anders Carlsson <andersca@apple.com> 6523 6524 Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) 6525 https://bugs.webkit.org/show_bug.cgi?id=123228 6526 6527 Reviewed by Geoffrey Garen. 6528 6529 All ports support USE(LOCKFREE_THREADSAFEREFCOUNTED) now and taking a lock on every ref/deref seems bad. 6530 6531 * wtf/Atomics.h: 6532 * wtf/ThreadSafeRefCounted.h: 6533 (WTF::ThreadSafeRefCountedBase::ref): 6534 (WTF::ThreadSafeRefCountedBase::refCount): 6535 (WTF::ThreadSafeRefCountedBase::derefBase): 6536 65372013-10-23 Anders Carlsson <andersca@apple.com> 6538 6539 Remove HAVE_XPC 6540 https://bugs.webkit.org/show_bug.cgi?id=123226 6541 6542 Reviewed by Dan Bernstein. 6543 6544 HAVE_XPC has been true on Mac since Lion, so remove it. 6545 6546 * wtf/Platform.h: 6547 65482013-10-23 Andreas Kling <akling@apple.com> 6549 6550 Make more StringImpl construction functions return PassRef. 6551 <https://webkit.org/b/123203> 6552 6553 Knock out a couple more of the StringImpl construction helpers that 6554 always return a non-null StringImpl. 6555 6556 Reviewed by Antti Koivisto. 6557 65582013-10-22 Filip Pizlo <fpizlo@apple.com> 6559 6560 FTL should be able to do some simple inline caches using LLVM patchpoints 6561 https://bugs.webkit.org/show_bug.cgi?id=123164 6562 6563 Reviewed by Mark Hahnenberg. 6564 6565 This needed some better bitvector support, like merging (|=), excluding (&=~), 6566 hashing, and bit counting. 6567 6568 * wtf/BitVector.cpp: 6569 (WTF::BitVector::setSlow): 6570 (WTF::BitVector::excludeSlow): 6571 (WTF::BitVector::bitCountSlow): 6572 (WTF::BitVector::equalsSlowCase): 6573 (WTF::BitVector::hashSlowCase): 6574 (WTF::BitVector::dump): 6575 * wtf/BitVector.h: 6576 (WTF::BitVector::merge): 6577 (WTF::BitVector::exclude): 6578 (WTF::BitVector::bitCount): 6579 (WTF::BitVector::BitVector): 6580 (WTF::BitVector::isEmptyValue): 6581 (WTF::BitVector::isDeletedValue): 6582 (WTF::BitVector::isEmptyOrDeletedValue): 6583 (WTF::BitVector::operator==): 6584 (WTF::BitVector::hash): 6585 (WTF::BitVectorHash::hash): 6586 (WTF::BitVectorHash::equal): 6587 * wtf/HashTraits.h: 6588 (WTF::CustomHashTraits::constructDeletedValue): 6589 (WTF::CustomHashTraits::isDeletedValue): 6590 (WTF::CustomHashTraits::emptyValue): 6591 (WTF::CustomHashTraits::isEmptyValue): 6592 * wtf/StdLibExtras.h: 6593 (WTF::bitCount): 6594 65952013-10-23 Allan Sandfeld Jensen <allan.jensen@digia.com> 6596 6597 Clean-up in Atomics.h 6598 https://bugs.webkit.org/show_bug.cgi?id=123207 6599 6600 Reviewed by Anders Carlsson. 6601 6602 Atomics.h has two confusing and bit-rotted ifdefs with comments. 6603 6604 The first about CPU(SPARC64) was rendered obsolete when we switched 6605 from __exchange_and_add to __sync_add_and_fetch. 6606 6607 The second was caused by a wrong definition that apparently only 6608 caused trouble on GCC. 6609 6610 * wtf/Atomics.h: 6611 66122013-10-22 Andreas Kling <akling@apple.com> 6613 6614 StringImpl::lower() should return a PassRef. 6615 <https://webkit.org/b/123190> 6616 6617 Test the waters and hack enough of StringImpl to be able to return 6618 a PassRef<StringImpl> from lower(). 6619 6620 Also gave String a constructor that takes a PassRef<StringImpl>. 6621 6622 Reviewed by Antti Koivisto. 6623 66242013-10-22 Commit Queue <commit-queue@webkit.org> 6625 6626 Unreviewed, rolling out r157835. 6627 http://trac.webkit.org/changeset/157835 6628 https://bugs.webkit.org/show_bug.cgi?id=123192 6629 6630 broke 32-bit builds (Requested by smfr on #webkit). 6631 6632 * wtf/MediaTime.cpp: 6633 (WTF::signum): 6634 * wtf/MediaTime.h: 6635 66362013-10-22 Jer Noble <jer.noble@apple.com> 6637 6638 [WTF] Add a multiplication operator (and a few others) to MediaTime 6639 https://bugs.webkit.org/show_bug.cgi?id=123137 6640 6641 Reviewed by Eric Carlson. 6642 6643 Add a multiplication operator and an inequality operator to the 6644 MediaTime class for use by MSE. 6645 6646 * wtf/MediaTime.cpp: 6647 (WTF::signum): Moved to top of file. 6648 (WTF::MediaTime::operator*): Added. 6649 (WTF::MediaTime::operator!=): Added. 6650 * wtf/MediaTime.h: 6651 (WTF::operator*): Added non-class version of operator*. 6652 66532013-10-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> 6654 6655 Make TYPE_CASTS_BASE more flexible 6656 https://bugs.webkit.org/show_bug.cgi?id=122951 6657 6658 Reviewed by Andreas Kling. 6659 6660 TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult 6661 to be used by other type casts. For instance, CSSValue, Accessibility and so on. 6662 This patch modifies TYPE_CASTS_BASE which can support other type casts. 6663 6664 Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h. 6665 6666 * wtf/Assertions.h: 6667 66682013-10-20 Filip Pizlo <fpizlo@apple.com> 6669 6670 StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries 6671 https://bugs.webkit.org/show_bug.cgi?id=123076 6672 6673 Reviewed by Sam Weinig. 6674 6675 Teach BitVector how to efficiently merge (i.e. bitvector |=). 6676 6677 * wtf/BitVector.cpp: 6678 (WTF::BitVector::mergeSlow): 6679 * wtf/BitVector.h: 6680 (WTF::BitVector::merge): 6681 (WTF::BitVector::cleanseInlineBits): 6682 66832013-10-19 Jer Noble <jer.noble@apple.com> 6684 6685 Unreviewed roll out of r157695; broke Mac builds. 6686 6687 * wtf/FeatureDefines.h: 6688 66892013-10-07 Jer Noble <jer.noble@apple.com> 6690 6691 [MSE] [Mac] Enable MediaSource on the Mac 6692 https://bugs.webkit.org/show_bug.cgi?id=122484 6693 6694 Reviewed by Darin Adler. 6695 6696 Enable ENABLE_MEDIA_SOURCE. 6697 6698 * wtf/FeatureDefines.h: 6699 67002013-10-19 Andreas Kling <akling@apple.com> 6701 6702 RefPtr::releaseNonNull() incorrectly increments the refcount. 6703 <https://webkit.org/b/123063> 6704 6705 Make releaseNonNull() use adoptRef(T&), mirroring release(). 6706 6707 Reviewed by Anders Carlsson. 6708 67092013-10-18 Andreas Kling <akling@apple.com> 6710 6711 Start passing RenderStyle around with PassRef. 6712 <https://webkit.org/b/123051> 6713 6714 Added some new PassRef tricks to make this patch possible. 6715 6716 Reviewed by Darin Adler. 6717 6718 * wtf/PassRef.h: 6719 (WTF::PassRef::get): 6720 6721 Added a get() helper to facilitate writing functions that 6722 construct a new object and call some functions on it before 6723 returning it. 6724 6725 (WTF::PassRef::dropRef): 6726 6727 This will deref() the referenced object and mark the PassRef 6728 as "passed." This is used in code paths where the PassRef is 6729 going to go out of scope with nobody to take it over. 6730 6731 (WTF::PassRef::leakRef): 6732 6733 Renamed takeReference() to leakRef() and made it public so 6734 we don't have to awkwardly sink the PassRef into a Ref for 6735 e.g static locals. 6736 6737 * wtf/RefPtr.h: 6738 (WTF::RefPtr::releaseNonNull): 6739 6740 Added RefPtr::releaseNonNull() for a convenient way of creating 6741 a PassRef<T> from a RefPtr<T>. This function may only be called 6742 if the RefPtr is known to be non-null. 6743 67442013-10-18 Filip Pizlo <fpizlo@apple.com> 6745 6746 A CodeBlock's StructureStubInfos shouldn't be in a Vector that we search using code origins and machine code PCs 6747 https://bugs.webkit.org/show_bug.cgi?id=122940 6748 6749 Reviewed by Oliver Hunt. 6750 6751 * GNUmakefile.list.am: 6752 * WTF.vcxproj/WTF.vcxproj: 6753 * WTF.xcodeproj/project.pbxproj: 6754 * wtf/BagToHashMap.h: Added. 6755 (WTF::toHashMap): 6756 * wtf/CMakeLists.txt: 6757 67582013-10-18 Anders Carlsson <andersca@apple.com> 6759 6760 Remove spaces between template angle brackets 6761 https://bugs.webkit.org/show_bug.cgi?id=123040 6762 6763 Reviewed by Andreas Kling. 6764 6765 * wtf/AVLTree.h: 6766 * wtf/CheckedArithmetic.h: 6767 * wtf/Compression.h: 6768 * wtf/Functional.h: 6769 (WTF::R): 6770 * wtf/HashFunctions.h: 6771 * wtf/HashIterators.h: 6772 * wtf/HashSet.h: 6773 (WTF::::contains): 6774 * wtf/ListHashSet.h: 6775 (WTF::::contains): 6776 * wtf/RefCountedLeakCounter.cpp: 6777 * wtf/RetainPtr.h: 6778 * wtf/SentinelLinkedList.h: 6779 (WTF::::remove): 6780 * wtf/SizeLimits.cpp: 6781 * wtf/StreamBuffer.h: 6782 * wtf/Vector.h: 6783 * wtf/VectorTraits.h: 6784 * wtf/WeakPtr.h: 6785 (WTF::WeakReference::create): 6786 (WTF::WeakReference::createUnbound): 6787 (WTF::WeakPtr::WeakPtr): 6788 (WTF::WeakPtrFactory::WeakPtrFactory): 6789 * wtf/text/AtomicString.cpp: 6790 (WTF::AtomicString::add): 6791 (WTF::findString): 6792 * wtf/text/StringConcatenate.h: 6793 * wtf/text/StringImpl.h: 6794 * wtf/text/StringOperators.h: 6795 (WTF::operator+): 6796 67972013-10-18 Brendan Long <b.long@cablelabs.com> 6798 6799 [GStreamer][GTK] Add GRefPtr::outPtr() 6800 https://bugs.webkit.org/show_bug.cgi?id=122996 6801 6802 Reviewed by Philippe Normand. 6803 6804 * wtf/gobject/GRefPtr.h: 6805 (WTF::GRefPtr::outPtr): Added. 6806 68072013-10-17 Geoffrey Garen <ggaren@apple.com> 6808 6809 Tidied up the Vector<T> move constructor 6810 https://bugs.webkit.org/show_bug.cgi?id=122998 6811 6812 Reviewed by Anders Carlsson. 6813 6814 * wtf/Vector.h: 6815 (WTF::::Vector): Don't call swap() "weird". It's the way most std types 6816 implement move constructors. 6817 6818 Do inline this function, so the compiler can optimize away a logical 6819 move into a physical no-op. 6820 68212013-10-16 Filip Pizlo <fpizlo@apple.com> 6822 6823 Introduce WTF::Bag and start using it for InlineCallFrameSet 6824 https://bugs.webkit.org/show_bug.cgi?id=122941 6825 6826 Reviewed by Geoffrey Garen. 6827 6828 Introduce WTF::Bag, which is basically an allocation pool. No POD restrictions. Does one 6829 malloc per entry. No need to shrink afterwards. 6830 6831 * GNUmakefile.list.am: 6832 * WTF.vcxproj/WTF.vcxproj: 6833 * WTF.xcodeproj/project.pbxproj: 6834 * wtf/Bag.h: Added. 6835 (WTF::Bag::Bag): 6836 (WTF::Bag::~Bag): 6837 (WTF::Bag::add): 6838 (WTF::Bag::iterator::iterator): 6839 (WTF::Bag::iterator::operator!): 6840 (WTF::Bag::iterator::operator*): 6841 (WTF::Bag::iterator::operator++): 6842 (WTF::Bag::iterator::operator==): 6843 (WTF::Bag::begin): 6844 (WTF::Bag::end): 6845 (WTF::Bag::isEmpty): 6846 * wtf/CMakeLists.txt: 6847 68482013-10-17 Andreas Kling <akling@apple.com> 6849 6850 Make it possible to assign a PassRef to a RefPtr. 6851 <https://webkit.org/b/122943> 6852 6853 We have to use std::move when constructing a RefPtr from a PassRef 6854 since there is no copy constructor for the latter. 6855 6856 Reviewed by Antti Koivisto. 6857 68582013-10-16 Ryuan Choi <ryuan.choi@samsung.com> 6859 6860 Unreviewed build fix attempt on EFL port after r157520 and r157523 6861 6862 * wtf/PassRef.h: includes <utility> 6863 68642013-10-16 Darin Adler <darin@apple.com> 6865 6866 Add PassRef and createRefCounted so we can improve creation of RefCounted objects 6867 https://bugs.webkit.org/show_bug.cgi?id=122904 6868 6869 Reviewed by Anders Carlsson. 6870 6871 * GNUmakefile.list.am: Added PassRef.h. 6872 * WTF.vcxproj/WTF.vcxproj: Ditto. 6873 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 6874 * WTF.xcodeproj/project.pbxproj: Ditto. 6875 * wtf/CMakeLists.txt: Ditto. 6876 6877 * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what 6878 the style-checking script expects. 6879 6880 * wtf/PassRef.h: Added. Includes the createRefCounted function template, which 6881 is analogous to make_unique, but is for reference counted objects, and also 6882 assumes that new will never return null. Also includes an overload of adoptRef 6883 that takes a reference rather than a pointer. 6884 6885 * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function. 6886 Got rid of declarations that duplicate ones in there. 6887 (WTF::refIfNotNull): Use nullptr. 6888 (WTF::derefIfNotNull): Use nullptr. 6889 (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef. 6890 (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr. 6891 (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion. 6892 (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead 6893 of an unused boolean. 6894 (WTF::PassRefPtr::leakRef): Use nullptr. 6895 (WTF::adoptRef): Use the adopt tag. 6896 6897 * wtf/Ref.h: Use Noncopyable instead of rolling our own. 6898 (WTF::Ref::Ref): Add an overload that takes a PassRef. 6899 (WTF::Ref::operator=): Ditto. 6900 6901 * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr. 6902 (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef. 6903 (WTF::RefPtr::release): Use nullptr. 6904 (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr. 6905 (WTF::RefPtr::operator=): Added overload that takes a PassRef. 6906 (WTF::RefPtr::clear): Use nullptr. 6907 6908 * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay, 6909 reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these 6910 were missing before. 6911 69122013-10-15 Dean Jackson <dino@apple.com> 6913 6914 Add ENABLE_WEB_ANIMATIONS flag 6915 https://bugs.webkit.org/show_bug.cgi?id=122871 6916 6917 Reviewed by Tim Horton. 6918 6919 Eventually might be http://dev.w3.org/fxtf/web-animations/ 6920 but this is just engine-internal work at the moment. 6921 6922 * wtf/FeatureDefines.h: 6923 69242013-10-15 Daniel Bates <dabates@apple.com> 6925 6926 [iOS] Upstream JavaScriptCore support for ARM64 6927 https://bugs.webkit.org/show_bug.cgi?id=122762 6928 6929 Reviewed by Oliver Hunt. 6930 6931 * Configurations/Base.xcconfig: 6932 * wtf/Atomics.h: 6933 (WTF::weakCompareAndSwap): 6934 (WTF::armV7_dmb): 6935 * wtf/FastMalloc.cpp: 6936 * wtf/Platform.h: 6937 * wtf/dtoa.cpp: 6938 * wtf/dtoa/utils.h: 6939 * wtf/text/ASCIIFastPath.h: 6940 (WTF::copyLCharsFromUCharSource): 6941 * wtf/text/StringImpl.h: 6942 69432013-10-14 Zan Dobersek <zdobersek@igalia.com> 6944 6945 Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects 6946 https://bugs.webkit.org/show_bug.cgi?id=122745 6947 6948 Reviewed by Anders Carlsson. 6949 6950 * wtf/PassOwnPtr.h: 6951 (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type, 6952 the static assertion should note that adoptRef should be used instead. 6953 69542013-10-14 Anders Carlsson <andersca@apple.com> 6955 6956 WebKit Nightlies broken by r157374 6957 https://bugs.webkit.org/show_bug.cgi?id=122736 6958 6959 Reviewed by Andreas Kling. 6960 6961 Add back a callOnMainThread overload that Safari is using. 6962 6963 * wtf/MainThread.cpp: 6964 (WTF::callOnMainThread): 6965 * wtf/MainThread.h: 6966 69672013-10-13 Darin Adler <darin@apple.com> 6968 6969 Deprecate or remove deleteAllValues functions; there are only a few call sites left 6970 https://bugs.webkit.org/show_bug.cgi?id=122738 6971 6972 Reviewed by Anders Carlsson. 6973 6974 * wtf/Deque.h: Deleted deleteAllValues. 6975 * wtf/HashMap.h: Ditto. 6976 * wtf/HashSet.h: Ditto. 6977 * wtf/ListHashSet.h: Ditto. 6978 * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues. 6979 6980== Rolled over to ChangeLog-2013-10-13 == 6981