[webkit-changes] [246809] trunk/Source/WTF
Title: [246809] trunk/Source/WTF Revision 246809 Author aba...@webkit.org Date 2019-06-25 14:35:03 -0700 (Tue, 25 Jun 2019) Log Message [fuchsia] Update to newer zx_clock_get syscall https://bugs.webkit.org/show_bug.cgi?id=199191 Reviewed by Sam Weinig. Fuchsia has changed the zx_clock_get syscall to return the clock value via an out parameter rather than via its return value. This change makes zx_clock_get consistent with all the other syscalls. This patch updates our use of zx_clock_get to use the new syscall. The old syscall is no longer supported by Fuchsia. * wtf/fuchsia/CPUTimeFuchsia.cpp: (WTF::CPUTime::get): Switch to using the out parameter. (WTF::CPUTime::forCurrentThread): Switch to using the out parameter. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/fuchsia/CPUTimeFuchsia.cpp Diff Modified: trunk/Source/WTF/ChangeLog (246808 => 246809) --- trunk/Source/WTF/ChangeLog 2019-06-25 21:19:21 UTC (rev 246808) +++ trunk/Source/WTF/ChangeLog 2019-06-25 21:35:03 UTC (rev 246809) @@ -1,3 +1,21 @@ +2019-06-25 Adam Barth + +[fuchsia] Update to newer zx_clock_get syscall +https://bugs.webkit.org/show_bug.cgi?id=199191 + +Reviewed by Sam Weinig. + +Fuchsia has changed the zx_clock_get syscall to return the clock value +via an out parameter rather than via its return value. This change +makes zx_clock_get consistent with all the other syscalls. + +This patch updates our use of zx_clock_get to use the new syscall. The +old syscall is no longer supported by Fuchsia. + +* wtf/fuchsia/CPUTimeFuchsia.cpp: +(WTF::CPUTime::get): Switch to using the out parameter. +(WTF::CPUTime::forCurrentThread): Switch to using the out parameter. + 2019-06-25 Michael Catanzaro Fully rename WebKitGTK+ -> WebKitGTK everywhere Modified: trunk/Source/WTF/wtf/fuchsia/CPUTimeFuchsia.cpp (246808 => 246809) --- trunk/Source/WTF/wtf/fuchsia/CPUTimeFuchsia.cpp 2019-06-25 21:19:21 UTC (rev 246808) +++ trunk/Source/WTF/wtf/fuchsia/CPUTimeFuchsia.cpp 2019-06-25 21:35:03 UTC (rev 246809) @@ -41,7 +41,8 @@ // Fuchsia issue ZX-2318 tracks being able to get the monotonic and thread // times atomically and being able to separate ZX_CLOCK_THREAD into user and // kernel time. -zx_time_t thread = zx_clock_get(ZX_CLOCK_THREAD); +zx_time_t thread = 0; +zx_clock_get(ZX_CLOCK_THREAD, ); return CPUTime { MonotonicTime::now(), timeToSeconds(thread), Seconds() }; } @@ -48,7 +49,9 @@ Seconds CPUTime::forCurrentThread() { -return timeToSeconds(zx_clock_get(ZX_CLOCK_THREAD)); +zx_time_t thread = 0; +zx_clock_get(ZX_CLOCK_THREAD, ) +return timeToSeconds(thread); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233408] trunk
Title: [233408] trunk Revision 233408 Author aba...@webkit.org Date 2018-06-30 23:52:34 -0700 (Sat, 30 Jun 2018) Log Message Port _javascript_Core to OS(FUCHSIA) https://bugs.webkit.org/show_bug.cgi?id=187223 Reviewed by Daniel Bates. .: * Source/cmake/OptionsJSCOnly.cmake: Add back ICU. Source/_javascript_Core: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::cacheFlush): Call zx_cache_flush to flush cache. * runtime/MachineContext.h: Fuchsia has the same mcontext_t as glibc. (JSC::MachineContext::stackPointerImpl): (JSC::MachineContext::framePointerImpl): (JSC::MachineContext::instructionPointerImpl): (JSC::MachineContext::argumentPointer<1>): (JSC::MachineContext::llintInstructionPointer): Source/WTF: * wtf/Platform.h: Fuchsia uses mcontext_t to provide machine context. Modified Paths trunk/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/ARM64Assembler.h trunk/Source/_javascript_Core/runtime/MachineContext.h trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h trunk/Source/cmake/OptionsJSCOnly.cmake Diff Modified: trunk/ChangeLog (233407 => 233408) --- trunk/ChangeLog 2018-07-01 06:00:27 UTC (rev 233407) +++ trunk/ChangeLog 2018-07-01 06:52:34 UTC (rev 233408) @@ -1,3 +1,12 @@ +2018-06-30 Adam Barth + +Port _javascript_Core to OS(FUCHSIA) +https://bugs.webkit.org/show_bug.cgi?id=187223 + +Reviewed by Daniel Bates. + +* Source/cmake/OptionsJSCOnly.cmake: Add back ICU. + 2018-06-29 Ross Kirsling [JSCOnly] Restore Windows build. Modified: trunk/Source/_javascript_Core/ChangeLog (233407 => 233408) --- trunk/Source/_javascript_Core/ChangeLog 2018-07-01 06:00:27 UTC (rev 233407) +++ trunk/Source/_javascript_Core/ChangeLog 2018-07-01 06:52:34 UTC (rev 233408) @@ -1,3 +1,19 @@ +2018-06-30 Adam Barth + +Port _javascript_Core to OS(FUCHSIA) +https://bugs.webkit.org/show_bug.cgi?id=187223 + +Reviewed by Daniel Bates. + +* assembler/ARM64Assembler.h: +(JSC::ARM64Assembler::cacheFlush): Call zx_cache_flush to flush cache. +* runtime/MachineContext.h: Fuchsia has the same mcontext_t as glibc. +(JSC::MachineContext::stackPointerImpl): +(JSC::MachineContext::framePointerImpl): +(JSC::MachineContext::instructionPointerImpl): +(JSC::MachineContext::argumentPointer<1>): +(JSC::MachineContext::llintInstructionPointer): + 2018-06-30 David Kilzer Fix clang static analyzer warnings: Garbage return value Modified: trunk/Source/_javascript_Core/assembler/ARM64Assembler.h (233407 => 233408) --- trunk/Source/_javascript_Core/assembler/ARM64Assembler.h 2018-07-01 06:00:27 UTC (rev 233407) +++ trunk/Source/_javascript_Core/assembler/ARM64Assembler.h 2018-07-01 06:52:34 UTC (rev 233408) @@ -35,6 +35,10 @@ #include #include +#if OS(FUCHSIA) +#include +#endif + #define CHECK_DATASIZE_OF(datasize) ASSERT(datasize == 32 || datasize == 64) #define CHECK_MEMOPSIZE_OF(size) ASSERT(size == 8 || size == 16 || size == 32 || size == 64 || size == 128); #define DATASIZE_OF(datasize) ((datasize == 64) ? Datasize_64 : Datasize_32) @@ -2857,6 +2861,8 @@ { #if OS(IOS) sys_cache_control(kCacheFunctionPrepareForExecution, code, size); +#elif OS(FUCHSIA) +zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN); #elif OS(LINUX) size_t page = pageSize(); uintptr_t current = reinterpret_cast(code); Modified: trunk/Source/_javascript_Core/runtime/MachineContext.h (233407 => 233408) --- trunk/Source/_javascript_Core/runtime/MachineContext.h 2018-07-01 06:00:27 UTC (rev 233407) +++ trunk/Source/_javascript_Core/runtime/MachineContext.h 2018-07-01 06:52:34 UTC (rev 233408) @@ -187,7 +187,7 @@ #error Unknown Architecture #endif -#elif defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) #if CPU(X86) return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); @@ -334,7 +334,7 @@ #error Unknown Architecture #endif -#elif defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -477,7 +477,7 @@ #error Unknown Architecture #endif -#elif defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -634,7 +634,7 @@ #error Unknown Architecture #endif -#elif defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -751,7 +751,7 @@ #error Unknown Architecture #endif -#elif defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) // The following sequence depends on
[webkit-changes] [233401] trunk/Source/WTF
Title: [233401] trunk/Source/WTF Revision 233401 Author aba...@webkit.org Date 2018-06-30 13:53:56 -0700 (Sat, 30 Jun 2018) Log Message Port WTF to OS(FUCHSIA) https://bugs.webkit.org/show_bug.cgi?id=187221 Reviewed by Yusuke Suzuki. * wtf/FastMalloc.cpp: Fuchsia does not have resource.h (WTF::fastMallocStatistics): Skip collecting stats without resource.h * wtf/InlineASM.h: Fuchsia uses ELF * wtf/Platform.h: Define OS(FUCHSIA) as an OS(UNIX) variant * wtf/RandomDevice.cpp: Call zx_cprng_draw for crypographic randomness (WTF::RandomDevice::cryptographicallyRandomValues): * wtf/ThreadingPthreads.cpp: Fuchsia does not have pthread_setschedparam (WTF::Thread::changePriority): * wtf/unix/CPUTimeFuchsia.cpp: Added. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/CurrentTime.cpp trunk/Source/WTF/wtf/FastMalloc.cpp trunk/Source/WTF/wtf/InlineASM.h trunk/Source/WTF/wtf/Platform.h trunk/Source/WTF/wtf/PlatformJSCOnly.cmake trunk/Source/WTF/wtf/RandomDevice.cpp trunk/Source/WTF/wtf/RandomDevice.h trunk/Source/WTF/wtf/ThreadingPthreads.cpp Added Paths trunk/Source/WTF/wtf/fuchsia/ trunk/Source/WTF/wtf/fuchsia/CPUTimeFuchsia.cpp Diff Modified: trunk/Source/WTF/ChangeLog (233400 => 233401) --- trunk/Source/WTF/ChangeLog 2018-06-30 18:44:34 UTC (rev 233400) +++ trunk/Source/WTF/ChangeLog 2018-06-30 20:53:56 UTC (rev 233401) @@ -1,3 +1,20 @@ +2018-06-30 Adam Barth + +Port WTF to OS(FUCHSIA) +https://bugs.webkit.org/show_bug.cgi?id=187221 + +Reviewed by Yusuke Suzuki. + +* wtf/FastMalloc.cpp: Fuchsia does not have resource.h +(WTF::fastMallocStatistics): Skip collecting stats without resource.h +* wtf/InlineASM.h: Fuchsia uses ELF +* wtf/Platform.h: Define OS(FUCHSIA) as an OS(UNIX) variant +* wtf/RandomDevice.cpp: Call zx_cprng_draw for crypographic randomness +(WTF::RandomDevice::cryptographicallyRandomValues): +* wtf/ThreadingPthreads.cpp: Fuchsia does not have pthread_setschedparam +(WTF::Thread::changePriority): +* wtf/unix/CPUTimeFuchsia.cpp: Added. + 2018-06-30 Commit Queue Unreviewed, rolling out r233391. Modified: trunk/Source/WTF/wtf/CurrentTime.cpp (233400 => 233401) --- trunk/Source/WTF/wtf/CurrentTime.cpp 2018-06-30 18:44:34 UTC (rev 233400) +++ trunk/Source/WTF/wtf/CurrentTime.cpp 2018-06-30 20:53:56 UTC (rev 233401) @@ -54,6 +54,10 @@ #include #endif +#if OS(FUCHSIA) +#include +#endif + #if USE(GLIB) #include #endif @@ -261,6 +265,8 @@ }); return fromRawSeconds((mach_absolute_time() * timebaseInfo.numer) / (1.0e9 * timebaseInfo.denom)); +#elif OS(FUCHSIA) +return fromRawSeconds(zx_clock_get_monotonic() / static_cast(ZX_SEC(1))); #elif OS(LINUX) || OS(FREEBSD) || OS(OPENBSD) || OS(NETBSD) struct timespec ts { }; clock_gettime(CLOCK_MONOTONIC, ); Modified: trunk/Source/WTF/wtf/FastMalloc.cpp (233400 => 233401) --- trunk/Source/WTF/wtf/FastMalloc.cpp 2018-06-30 18:44:34 UTC (rev 233400) +++ trunk/Source/WTF/wtf/FastMalloc.cpp 2018-06-30 20:53:56 UTC (rev 233401) @@ -35,7 +35,9 @@ #include #else #include +#if HAVE(RESOURCE_H) #include +#endif // HAVE(RESOURCE_H) #endif #if OS(DARWIN) @@ -361,7 +363,7 @@ PROCESS_MEMORY_COUNTERS resourceUsage; GetProcessMemoryInfo(GetCurrentProcess(), , sizeof(resourceUsage)); statistics.committedVMBytes = resourceUsage.PeakWorkingSetSize; -#else +#elif HAVE(RESOURCE_H) struct rusage resourceUsage; getrusage(RUSAGE_SELF, ); Modified: trunk/Source/WTF/wtf/InlineASM.h (233400 => 233401) --- trunk/Source/WTF/wtf/InlineASM.h 2018-06-30 18:44:34 UTC (rev 233400) +++ trunk/Source/WTF/wtf/InlineASM.h 2018-06-30 20:53:56 UTC (rev 233401) @@ -64,11 +64,12 @@ #elif OS(AIX) // IBM's own file format #define HIDE_SYMBOL(name) ".lglobl " #name -#elif OS(LINUX) \ - || OS(FREEBSD) \ - || OS(OPENBSD) \ - || OS(HPUX)\ - || OS(NETBSD) +#elif OS(LINUX) \ +|| OS(FREEBSD) \ +|| OS(FUCHSIA) \ +|| OS(OPENBSD) \ +|| OS(HPUX)\ +|| OS(NETBSD) // ELF platform #define HIDE_SYMBOL(name) ".hidden " #name #else @@ -80,8 +81,9 @@ // Don't know about any of the others. #if OS(DARWIN) #define LOCAL_LABEL_STRING(name) "L" #name -#elif OS(LINUX) \ +#elif OS(LINUX) \ || OS(FREEBSD) \ +|| OS(FUCHSIA) \ || OS(OPENBSD) \ || OS(HURD)\ || OS(NETBSD) \ Modified: trunk/Source/WTF/wtf/Platform.h (233400 => 233401) --- trunk/Source/WTF/wtf/Platform.h 2018-06-30 18:44:34 UTC (rev 233400) +++ trunk/Source/WTF/wtf/Platform.h 2018-06-30 20:53:56 UTC (rev 233401) @@ -359,6 +359,11 @@ #define WTF_OS_FREEBSD 1 #endif +/* OS(FUCHSIA) - Fuchsia */ +#ifdef __Fuchsia__ +#define WTF_OS_FUCHSIA 1 +#endif +
[webkit-changes] [233303] trunk
Title: [233303] trunk Revision 233303 Author aba...@webkit.org Date 2018-06-28 01:02:29 -0700 (Thu, 28 Jun 2018) Log Message Switch OS(FUCHSIA) to using JSCOnly https://bugs.webkit.org/show_bug.cgi?id=187133 Reviewed by Yusuke Suzuki. .: Rather than creating a Fuchsia port, OS(FUCHSIA) now uses the JSCOnly port. * CMakeLists.txt: Set the WTF_OS_FUCHSIA flag * Source/cmake/OptionsFuchsia.cmake: Removed. * Source/cmake/OptionsJSCOnly.cmake: Temporarily disable ICU for OS(FUCHSIA). We'll get ICU wired in, but I'd like to work through the other compile errors first. Tools: Switch Fuchsia from being a port to just being an OS. We now use a CMAKE_TOOLCHAIN_FILE to configure the toolchain and the target triple. * Scripts/webkitdirs.pm: Remove isFuchsia() and clients. Turns out we can do everything we need using a CMAKE_TOOLCHAIN_FILE via the --cmakeargs flag. Modified Paths trunk/CMakeLists.txt trunk/ChangeLog trunk/Source/cmake/OptionsJSCOnly.cmake trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitdirs.pm Removed Paths trunk/Source/cmake/OptionsFuchsia.cmake Diff Modified: trunk/CMakeLists.txt (233302 => 233303) --- trunk/CMakeLists.txt 2018-06-28 07:37:28 UTC (rev 233302) +++ trunk/CMakeLists.txt 2018-06-28 08:02:29 UTC (rev 233303) @@ -37,7 +37,6 @@ set(ALL_PORTS AppleWin Efl -Fuchsia GTK JSCOnly Mac @@ -115,6 +114,8 @@ endif () elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") set(WTF_OS_WINDOWS 1) +elseif (CMAKE_SYSTEM_NAME MATCHES "Fuchsia") +set(WTF_OS_FUCHSIA 1) else () message(FATAL_ERROR "Unknown OS '${CMAKE_SYSTEM_NAME}'") endif () Modified: trunk/ChangeLog (233302 => 233303) --- trunk/ChangeLog 2018-06-28 07:37:28 UTC (rev 233302) +++ trunk/ChangeLog 2018-06-28 08:02:29 UTC (rev 233303) @@ -1,3 +1,19 @@ +2018-06-28 Adam Barth + +Switch OS(FUCHSIA) to using JSCOnly +https://bugs.webkit.org/show_bug.cgi?id=187133 + +Reviewed by Yusuke Suzuki. + +Rather than creating a Fuchsia port, OS(FUCHSIA) now uses the JSCOnly +port. + +* CMakeLists.txt: Set the WTF_OS_FUCHSIA flag +* Source/cmake/OptionsFuchsia.cmake: Removed. +* Source/cmake/OptionsJSCOnly.cmake: Temporarily disable ICU for +OS(FUCHSIA). We'll get ICU wired in, but I'd like to work through the +other compile errors first. + 2018-06-27 Adam Barth Add Fuchsia support to build-jsc Deleted: trunk/Source/cmake/OptionsFuchsia.cmake (233302 => 233303) --- trunk/Source/cmake/OptionsFuchsia.cmake 2018-06-28 07:37:28 UTC (rev 233302) +++ trunk/Source/cmake/OptionsFuchsia.cmake 2018-06-28 08:02:29 UTC (rev 233303) @@ -1,29 +0,0 @@ -set(PROJECT_VERSION_MAJOR 1) -set(PROJECT_VERSION_MINOR 0) -set(PROJECT_VERSION_MICRO 0) -set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO}) - -set(CMAKE_SYSTEM_NAME Fuchsia) - -if (WTF_CPU_ARM64) -set(triple aarch64-unknown-fuchsia) -elseif (WTF_CPU_X86_64) -set(triple x86_64-unknown-fuchsia) -else () -message(FATAL_ERROR "Unknown ARCH '${CMAKE_SYSTEM_PROCESSOR}'") -endif () - -set(CMAKE_C_COMPILER_TARGET ${triple}) -set(CMAKE_CXX_COMPILER_TARGET ${triple}) - -WEBKIT_OPTION_BEGIN() -WEBKIT_OPTION_DEFINE(ENABLE_STATIC_JSC "Whether to build _javascript_Core as a static library." PUBLIC OFF) -WEBKIT_OPTION_END() - -set(ENABLE_WEBCORE OFF) -set(ENABLE_WEBKIT_LEGACY OFF) -set(ENABLE_WEBKIT OFF) -set(ENABLE_API_TESTS OFF) - -SET_AND_EXPOSE_TO_BUILD(USE_GENERIC_EVENT_LOOP 1) -SET_AND_EXPOSE_TO_BUILD(WTF_DEFAULT_EVENT_LOOP 0) Modified: trunk/Source/cmake/OptionsJSCOnly.cmake (233302 => 233303) --- trunk/Source/cmake/OptionsJSCOnly.cmake 2018-06-28 07:37:28 UTC (rev 233302) +++ trunk/Source/cmake/OptionsJSCOnly.cmake 2018-06-28 08:02:29 UTC (rev 233303) @@ -97,7 +97,10 @@ endif () if (NOT APPLE) -find_package(ICU REQUIRED) +if (NOT WTF_OS_FUCHSIA) +# TODO: Add ICU on Fuchsia. +find_package(ICU REQUIRED) +endif () else () add_definitions(-DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0) set(ICU_LIBRARIES libicucore.dylib) Modified: trunk/Tools/ChangeLog (233302 => 233303) --- trunk/Tools/ChangeLog 2018-06-28 07:37:28 UTC (rev 233302) +++ trunk/Tools/ChangeLog 2018-06-28 08:02:29 UTC (rev 233303) @@ -1,3 +1,17 @@ +2018-06-28 Adam Barth + +Switch OS(FUCHSIA) to using JSCOnly +https://bugs.webkit.org/show_bug.cgi?id=187133 + +Reviewed by Yusuke Suzuki. + +Switch Fuchsia from being a port to just being an OS. We now use a +CMAKE_TOOLCHAIN_FILE to configure the toolchain and the target triple. + +* Scripts/webkitdirs.pm: Remove isFuchsia() and clients. Turns out we +can do everything we need using a CMAKE_TOOLCHAIN_FILE via the +--cmakeargs flag. + 2018-06-27 Ryosuke Niwa Make MotionMark's plan file more robust against code changes Modified: trunk/Tools/Scripts/webkitdirs.pm (233302
[webkit-changes] [233294] trunk
Title: [233294] trunk Revision 233294 Author aba...@webkit.org Date 2018-06-27 18:04:54 -0700 (Wed, 27 Jun 2018) Log Message Add Fuchsia support to build-jsc https://bugs.webkit.org/show_bug.cgi?id=187086 Reviewed by Yusuke Suzuki. .: Add Fuchsia port to cmake build system. After this patch, the build errors out due to a missing sysroot. * CMakeLists.txt: * Source/cmake/OptionsFuchsia.cmake: Added. Tools: Add Fuchsia port to webkitdirs.pm. This patch is sufficient to make build-jsc kick off a cmake for Fuchsia. * Scripts/webkitdirs.pm: (determineSourceDir): (argumentsForConfiguration): (determineXcodeSDK): (findMatchingArguments): (determinePortName): (isFuchsia): (setupAppleWinEnv): (wrapperPrefixIfNeeded): (relaunchIOSSimulator): (debugMiniBrowser): Modified Paths trunk/CMakeLists.txt trunk/ChangeLog trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitdirs.pm Added Paths trunk/Source/cmake/OptionsFuchsia.cmake Diff Modified: trunk/CMakeLists.txt (233293 => 233294) --- trunk/CMakeLists.txt 2018-06-28 00:32:47 UTC (rev 233293) +++ trunk/CMakeLists.txt 2018-06-28 01:04:54 UTC (rev 233294) @@ -37,6 +37,7 @@ set(ALL_PORTS AppleWin Efl +Fuchsia GTK JSCOnly Mac Modified: trunk/ChangeLog (233293 => 233294) --- trunk/ChangeLog 2018-06-28 00:32:47 UTC (rev 233293) +++ trunk/ChangeLog 2018-06-28 01:04:54 UTC (rev 233294) @@ -1,3 +1,16 @@ +2018-06-27 Adam Barth + +Add Fuchsia support to build-jsc +https://bugs.webkit.org/show_bug.cgi?id=187086 + +Reviewed by Yusuke Suzuki. + +Add Fuchsia port to cmake build system. After this patch, the build +errors out due to a missing sysroot. + +* CMakeLists.txt: +* Source/cmake/OptionsFuchsia.cmake: Added. + 2018-06-18 Zan Dobersek Unreviewed GTK+ gardening. Updating the WPT expectations by removing Added: trunk/Source/cmake/OptionsFuchsia.cmake (0 => 233294) --- trunk/Source/cmake/OptionsFuchsia.cmake (rev 0) +++ trunk/Source/cmake/OptionsFuchsia.cmake 2018-06-28 01:04:54 UTC (rev 233294) @@ -0,0 +1,29 @@ +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 0) +set(PROJECT_VERSION_MICRO 0) +set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO}) + +set(CMAKE_SYSTEM_NAME Fuchsia) + +if (WTF_CPU_ARM64) +set(triple aarch64-unknown-fuchsia) +elseif (WTF_CPU_X86_64) +set(triple x86_64-unknown-fuchsia) +else () +message(FATAL_ERROR "Unknown ARCH '${CMAKE_SYSTEM_PROCESSOR}'") +endif () + +set(CMAKE_C_COMPILER_TARGET ${triple}) +set(CMAKE_CXX_COMPILER_TARGET ${triple}) + +WEBKIT_OPTION_BEGIN() +WEBKIT_OPTION_DEFINE(ENABLE_STATIC_JSC "Whether to build _javascript_Core as a static library." PUBLIC OFF) +WEBKIT_OPTION_END() + +set(ENABLE_WEBCORE OFF) +set(ENABLE_WEBKIT_LEGACY OFF) +set(ENABLE_WEBKIT OFF) +set(ENABLE_API_TESTS OFF) + +SET_AND_EXPOSE_TO_BUILD(USE_GENERIC_EVENT_LOOP 1) +SET_AND_EXPOSE_TO_BUILD(WTF_DEFAULT_EVENT_LOOP 0) Modified: trunk/Tools/ChangeLog (233293 => 233294) --- trunk/Tools/ChangeLog 2018-06-28 00:32:47 UTC (rev 233293) +++ trunk/Tools/ChangeLog 2018-06-28 01:04:54 UTC (rev 233294) @@ -1,3 +1,25 @@ +2018-06-27 Adam Barth + +Add Fuchsia support to build-jsc +https://bugs.webkit.org/show_bug.cgi?id=187086 + +Reviewed by Yusuke Suzuki. + +Add Fuchsia port to webkitdirs.pm. This patch is sufficient to make +build-jsc kick off a cmake for Fuchsia. + +* Scripts/webkitdirs.pm: +(determineSourceDir): +(argumentsForConfiguration): +(determineXcodeSDK): +(findMatchingArguments): +(determinePortName): +(isFuchsia): +(setupAppleWinEnv): +(wrapperPrefixIfNeeded): +(relaunchIOSSimulator): +(debugMiniBrowser): + 2018-06-27 Daniel Bates style-queue "AttributeError: 'NoneType' object has no attribute 'is_obsolete'" when processing security patch Modified: trunk/Tools/Scripts/webkitdirs.pm (233293 => 233294) --- trunk/Tools/Scripts/webkitdirs.pm 2018-06-28 00:32:47 UTC (rev 233293) +++ trunk/Tools/Scripts/webkitdirs.pm 2018-06-28 01:04:54 UTC (rev 233294) @@ -104,6 +104,7 @@ # Ports use constant { AppleWin => "AppleWin", +Fuchsia => "Fuchsia", GTK => "GTK", iOS => "iOS", tvOS => "tvOS", @@ -476,6 +477,7 @@ push(@args, '--ios-simulator') if (defined $xcodeSDK && $xcodeSDK =~ /^iphonesimulator/); push(@args, '--32-bit') if ($architecture ne "x86_64" and !isWin64()); push(@args, '--64-bit') if (isWin64()); +push(@args, '--fuchsia') if isFuchsia(); push(@args, '--gtk') if isGtk(); push(@args, '--wpe') if isWPE(); push(@args, '--jsc-only') if isJSCOnly(); @@ -1189,6 +1191,7 @@ return if defined $portName; my %argToPortName = ( +fuchsia => Fuchsia, gtk => GTK, 'jsc-only' => JSCOnly, wincairo => WinCairo, @@
[webkit-changes] [151611] trunk
Title: [151611] trunk Revision 151611 Author aba...@webkit.org Date 2013-06-14 16:05:39 -0700 (Fri, 14 Jun 2013) Log Message Threaded HTML parser can ASSERT in some situations https://bugs.webkit.org/show_bug.cgi?id=117662 Reviewed by Ryosuke Niwa. Source/WebCore: This patch merges https://chromium.googlesource.com/chromium/blink/+/3c0a112b42d72c7623f78463166dd7f04d680b4c ---8--- The parser is supposed to stop processing data when there's a pending location change, but before this CL we would actually process the first token from every chunk when there was a pending location change. If the first token in a chunk was a script start tag, that would put the tree builder into TextMode, which can only process character tokens. If the next chunk starts with another start tag token, the tree builder would be sad and hit an ASSERT. This CL reorders a couple lines in HTMLDocumentParser so that we check for pending location changes before processing any tokens. This change stops us from processing the first token from each chunk while there is a pending location change. This issue can reproduce on any platform, but it reproduced often on Android because mobile markup often elides spaces between consecutive script tags. If there are space characters between the script tags, then those space characters will be the first ones processes in the chunk, which doesn't trigger the ASSERT. ---8--- Since we landed this patch in Blink, we've been able to reproduce this issue on desktops as well. I spoke with rniwa in #webkit and he said that WebKit doesn't have any current plans to enable the threaded parser but that it was probably worth merging this patch anyway. Test: http/tests/navigation/pending-location-change-assert.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): LayoutTests: * http/tests/navigation/pending-location-change-assert-expected.txt: Added. * http/tests/navigation/pending-location-change-assert.html: Added. * http/tests/resources/slow-notify-done.php: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Added Paths trunk/LayoutTests/http/tests/navigation/pending-location-change-assert-expected.txt trunk/LayoutTests/http/tests/navigation/pending-location-change-assert.html trunk/LayoutTests/http/tests/resources/slow-notify-done.php Diff Modified: trunk/LayoutTests/ChangeLog (151610 => 151611) --- trunk/LayoutTests/ChangeLog 2013-06-14 22:49:14 UTC (rev 151610) +++ trunk/LayoutTests/ChangeLog 2013-06-14 23:05:39 UTC (rev 151611) @@ -1,3 +1,14 @@ +2013-06-14 Adam Barth aba...@webkit.org + +Threaded HTML parser can ASSERT in some situations +https://bugs.webkit.org/show_bug.cgi?id=117662 + +Reviewed by Ryosuke Niwa. + +* http/tests/navigation/pending-location-change-assert-expected.txt: Added. +* http/tests/navigation/pending-location-change-assert.html: Added. +* http/tests/resources/slow-notify-done.php: Added. + 2013-06-14 Arpita Bahuguna a@samsung.com Editing: wrong text position when you click enter on the text behind the image Added: trunk/LayoutTests/http/tests/navigation/pending-location-change-assert-expected.txt (0 => 151611) --- trunk/LayoutTests/http/tests/navigation/pending-location-change-assert-expected.txt (rev 0) +++ trunk/LayoutTests/http/tests/navigation/pending-location-change-assert-expected.txt 2013-06-14 23:05:39 UTC (rev 151611) @@ -0,0 +1 @@ +DONE! Added: trunk/LayoutTests/http/tests/navigation/pending-location-change-assert.html (0 => 151611) --- trunk/LayoutTests/http/tests/navigation/pending-location-change-assert.html (rev 0) +++ trunk/LayoutTests/http/tests/navigation/pending-location-change-assert.html 2013-06-14 23:05:39 UTC (rev 151611) @@ -0,0 +1,13 @@ +script +if (window.testRunner) { +testRunner.dumpAsText(); +testRunner.waitUntilDone(); +} +window.location = ../resources/slow-notify-done.php; +/scriptscript +alert('FAIL 1 of 3'); +/scriptscript +alert('FAIL 2 of 3'); +/scriptscript +alert('FAIL 3 of 3'); +/script Added: trunk/LayoutTests/http/tests/resources/slow-notify-done.php (0 => 151611) --- trunk/LayoutTests/http/tests/resources/slow-notify-done.php (rev 0) +++ trunk/LayoutTests/http/tests/resources/slow-notify-done.php 2013-06-14 23:05:39 UTC (rev 151611) @@ -0,0 +1,8 @@ +?php +usleep(10); +? +DONE! +script +if (window.testRunner) +testRunner.notifyDone(); +/script Modified: trunk/Source/WebCore/ChangeLog (151610 => 151611) --- trunk/Source/WebCore/ChangeLog 2013-06-14 22:49:14 UTC (rev 151610) +++ trunk/Source/WebCore/ChangeLog 2013-06-14 23:05:39 UTC (rev 151611) @@ -1,3 +1,44 @@ +2013-06-14 Adam Barth aba...@webkit.org + +Threaded HTML parser can ASSERT in some situations +
[webkit-changes] [148152] trunk/Tools
Title: [148152] trunk/Tools Revision 148152 Author aba...@webkit.org Date 2013-04-10 16:53:42 -0700 (Wed, 10 Apr 2013) Log Message Remove abarth from watchlists https://bugs.webkit.org/show_bug.cgi?id=114390 Reviewed by Ryosuke Niwa. I'm trying to cut down on the amount of bugmail I get so that I'll have more of a chance to notice a piece of bugmail directed at me. * Scripts/webkitpy/common/config/watchlist: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/config/watchlist Diff Modified: trunk/Tools/ChangeLog (148151 => 148152) --- trunk/Tools/ChangeLog 2013-04-10 23:44:07 UTC (rev 148151) +++ trunk/Tools/ChangeLog 2013-04-10 23:53:42 UTC (rev 148152) @@ -1,3 +1,15 @@ +2013-04-10 Adam Barth aba...@webkit.org + +Remove abarth from watchlists +https://bugs.webkit.org/show_bug.cgi?id=114390 + +Reviewed by Ryosuke Niwa. + +I'm trying to cut down on the amount of bugmail I get so that I'll have +more of a chance to notice a piece of bugmail directed at me. + +* Scripts/webkitpy/common/config/watchlist: + 2013-04-10 Ryosuke Niwa rn...@webkit.org webkit-test-results.appspot.com loads the dashboard for Chromium by default Modified: trunk/Tools/Scripts/webkitpy/common/config/watchlist (148151 => 148152) --- trunk/Tools/Scripts/webkitpy/common/config/watchlist 2013-04-10 23:44:07 UTC (rev 148151) +++ trunk/Tools/Scripts/webkitpy/common/config/watchlist 2013-04-10 23:53:42 UTC (rev 148152) @@ -52,11 +52,6 @@ TestFailures: { filename: rTools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/, }, -SecurityCritical: { -more: r[Ss]ecurityOrigin(?!\.(h|cpp)), -less: r[Ss]ecurityOrigin(?!\.(h|cpp)), -filename: rXSS|[Ss]ecurity, -}, XSS: { filename: r.*XSS, }, @@ -354,7 +349,7 @@ Editing: [ mifen...@rim.com ], Filters: [ d...@apple.com ], Forms: [ tk...@chromium.org, mifen...@rim.com ], -FrameLoader: [ aba...@webkit.org, jap...@chromium.org ], +FrameLoader: [ jap...@chromium.org ], Geolocation: [ benja...@webkit.org ], GraphicsLayer: [ simon.fra...@apple.com ], GStreamerGraphics: [ ale...@webkit.org, pnorm...@igalia.com, g...@gnome.org, mrobin...@webkit.org ], @@ -381,22 +376,21 @@ SVG: [schen...@chromium.org, p...@google.com, fmal...@chromium.org, dominik.rottsc...@intel.com ], SVNScripts: [ dba...@webkit.org ], ScrollingCoordinator: [ ander...@apple.com, jam...@chromium.org, toniki...@webkit.org, cmarc...@webkit.org, l...@webkit.org ], -SecurityCritical: [ aba...@webkit.org ], SkiaGraphics: [ senorbla...@chromium.org, ju...@google.com ], Selectors: [ allan.jen...@digia.com ], SoupNetwork: [ rak...@webkit.org, g...@gnome.org, mrobin...@webkit.org, d...@gnome.org ], -TestFailures: [ aba...@webkit.org, ojan.aut...@gmail.com ], +TestFailures: [ ojan.aut...@gmail.com ], TextureMapper : [ n...@webkit.org, cmarc...@webkit.org, l...@webkit.org ], TouchAdjustment : [ allan.jen...@digia.com ], WTF: [ benja...@webkit.org, ojan.aut...@gmail.com, cmarc...@webkit.org ], WebGL: [ d...@apple.com ], -WebIDL: [ aba...@webkit.org, ojan.aut...@gmail.com, esprehn+aut...@chromium.org ], +WebIDL: [ ojan.aut...@gmail.com, esprehn+aut...@chromium.org ], WebInspectorAPI: [ timo...@apple.com, joep...@webkit.org, grao...@apple.com ], WebKitGTKTranslations: [ g...@gnome.org, mrobin...@webkit.org ], WebSocket: [ yu...@chromium.org, toyoshim+watchl...@chromium.org ], XSS: [ dba...@webkit.org, ojan.aut...@gmail.com ], webkitperl: [ dba...@webkit.org ], -webkitpy: [ aba...@webkit.org, dpra...@chromium.org, e...@webkit.org ], +webkitpy: [ dpra...@chromium.org, e...@webkit.org ], }, MESSAGE_RULES: { AppleMacPublicApi: [ Please wait for approval from timo...@apple.com (or another member ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [147304] trunk/Tools
Title: [147304] trunk/Tools Revision 147304 Author aba...@webkit.org Date 2013-03-31 23:29:22 -0700 (Sun, 31 Mar 2013) Log Message configure-svn-config.sh fails https://codereview.chromium.org/13392007/ Reviewed by Eric Seidel. This script was trying to use svn checkout to dowload a file from svn.webkit.org, but svn checkout only works with directories. Instead, we should use svn export. * EWSTools/configure-svn-config.sh: Modified Paths trunk/Tools/ChangeLog trunk/Tools/EWSTools/configure-svn-config.sh Diff Modified: trunk/Tools/ChangeLog (147303 => 147304) --- trunk/Tools/ChangeLog 2013-04-01 05:54:13 UTC (rev 147303) +++ trunk/Tools/ChangeLog 2013-04-01 06:29:22 UTC (rev 147304) @@ -1,3 +1,16 @@ +2013-03-31 Adam Barth aba...@webkit.org + +configure-svn-config.sh fails +https://codereview.chromium.org/13392007/ + +Reviewed by Eric Seidel. + +This script was trying to use svn checkout to dowload a file from +svn.webkit.org, but svn checkout only works with directories. +Instead, we should use svn export. + +* EWSTools/configure-svn-config.sh: + 2013-03-31 Wei Jia w...@chromium.org Allow WebUserMediaClientMock to be used by client Modified: trunk/Tools/EWSTools/configure-svn-config.sh (147303 => 147304) --- trunk/Tools/EWSTools/configure-svn-config.sh 2013-04-01 05:54:13 UTC (rev 147303) +++ trunk/Tools/EWSTools/configure-svn-config.sh 2013-04-01 06:29:22 UTC (rev 147304) @@ -24,4 +24,4 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -svn checkout http://svn.webkit.org/repository/webkit/trunk/Tools/svn-config ~/.subversion/config +svn export http://svn.webkit.org/repository/webkit/trunk/Tools/svn-config ~/.subversion/config ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [147383] trunk
Title: [147383] trunk Revision 147383 Author aba...@webkit.org Date 2013-04-01 22:34:38 -0700 (Mon, 01 Apr 2013) Log Message Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html https://bugs.webkit.org/show_bug.cgi?id=112369 Reviewed by Eric Seidel. Source/WebCore: The threaded HTML parser wasn't correctly handling the nested event loops that can arise from the _javascript_ debugger and from showModalDialog. When the parser received a chunk from the background parser, it was always processing it immediately, which lead to re-entrancy. Now, we'll queue the chunk in the speculation buffer and process it once the stack unwinds. * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::~HTMLDocumentParser): (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::pumpPendingSpeculations): (WebCore::HTMLDocumentParser::insert): * html/parser/HTMLParserScheduler.cpp: (WebCore::PumpSession::PumpSession): * html/parser/HTMLParserScheduler.h: LayoutTests: Unskip test that is now passing. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLParserScheduler.cpp trunk/Source/WebCore/html/parser/HTMLParserScheduler.h Diff Modified: trunk/LayoutTests/ChangeLog (147382 => 147383) --- trunk/LayoutTests/ChangeLog 2013-04-02 05:31:12 UTC (rev 147382) +++ trunk/LayoutTests/ChangeLog 2013-04-02 05:34:38 UTC (rev 147383) @@ -1,3 +1,14 @@ +2013-04-01 Adam Barth aba...@webkit.org + +Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html +https://bugs.webkit.org/show_bug.cgi?id=112369 + +Reviewed by Eric Seidel. + +Unskip test that is now passing. + +* platform/chromium/TestExpectations: + 2013-04-01 Michael Pruett mich...@68k.org [JSC] IndexedDB: Exceptions not thrown for non-cloneable values Modified: trunk/LayoutTests/platform/chromium/TestExpectations (147382 => 147383) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-04-02 05:31:12 UTC (rev 147382) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-04-02 05:34:38 UTC (rev 147383) @@ -3783,9 +3783,6 @@ # Feature not implemented webkit.org/b/91611 media/media-higher-prio-audio-stream.html [ Skip ] -# Flaky assertion failures on debug bots -webkit.org/b/112369 [ Debug ] inspector/debugger/pause-in-inline-script.html [ Pass Crash Timeout ] - # Needs rebaseline on all platforms Bug(leviw) fast/text/shaping/shaping-selection-rect.html [ Failure ] Modified: trunk/Source/WebCore/ChangeLog (147382 => 147383) --- trunk/Source/WebCore/ChangeLog 2013-04-02 05:31:12 UTC (rev 147382) +++ trunk/Source/WebCore/ChangeLog 2013-04-02 05:34:38 UTC (rev 147383) @@ -1,3 +1,27 @@ +2013-04-01 Adam Barth aba...@webkit.org + +Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html +https://bugs.webkit.org/show_bug.cgi?id=112369 + +Reviewed by Eric Seidel. + +The threaded HTML parser wasn't correctly handling the nested event +loops that can arise from the _javascript_ debugger and from +showModalDialog. When the parser received a chunk from the background +parser, it was always processing it immediately, which lead to +re-entrancy. Now, we'll queue the chunk in the speculation buffer and +process it once the stack unwinds. + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::~HTMLDocumentParser): +(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): +(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): +(WebCore::HTMLDocumentParser::pumpPendingSpeculations): +(WebCore::HTMLDocumentParser::insert): +* html/parser/HTMLParserScheduler.cpp: +(WebCore::PumpSession::PumpSession): +* html/parser/HTMLParserScheduler.h: + 2013-04-01 Michael Pruett mich...@68k.org [JSC] IndexedDB: Exceptions not thrown for non-cloneable values Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (147382 => 147383) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-04-02 05:31:12 UTC (rev 147382) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-04-02 05:34:38 UTC (rev 147383) @@ -127,6 +127,9 @@ ASSERT(!m_preloadScanner); ASSERT(!m_insertionPreloadScanner); ASSERT(!m_haveBackgroundParser); +// FIXME: We should be able to ASSERT(m_speculations.isEmpty()), +// but there are cases where that's not true currently.
[webkit-changes] [147294] trunk/Source
Title: [147294] trunk/Source Revision 147294 Author aba...@webkit.org Date 2013-03-31 20:06:57 -0700 (Sun, 31 Mar 2013) Log Message [Chromium] Yarr should build using a separate GYP file from _javascript_Core https://bugs.webkit.org/show_bug.cgi?id=113652 Reviewed by Nico Weber. Source/_javascript_Core: This patch moves _javascript_Core.gyp to yarr.gyp because Chromium only uses this GYP file to build yarr. * _javascript_Core.gyp/_javascript_CoreGTK.gyp: * _javascript_Core.gypi: * yarr/yarr.gyp: Renamed from Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp. Source/WebCore: * WebCore.gyp/WebCore.gyp: - Update references to yarr.gyp. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.gyp/_javascript_CoreGTK.gyp trunk/Source/_javascript_Core/_javascript_Core.gypi trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.gyp/WebCore.gyp Added Paths trunk/Source/_javascript_Core/yarr/yarr.gyp Removed Paths trunk/Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (147293 => 147294) --- trunk/Source/_javascript_Core/ChangeLog 2013-04-01 01:16:33 UTC (rev 147293) +++ trunk/Source/_javascript_Core/ChangeLog 2013-04-01 03:06:57 UTC (rev 147294) @@ -1,3 +1,17 @@ +2013-03-31 Adam Barth aba...@webkit.org + +[Chromium] Yarr should build using a separate GYP file from _javascript_Core +https://bugs.webkit.org/show_bug.cgi?id=113652 + +Reviewed by Nico Weber. + +This patch moves _javascript_Core.gyp to yarr.gyp because Chromium only +uses this GYP file to build yarr. + +* _javascript_Core.gyp/_javascript_CoreGTK.gyp: +* _javascript_Core.gypi: +* yarr/yarr.gyp: Renamed from Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp. + 2013-03-31 Filip Pizlo fpi...@apple.com Unreviewed, fix a comment. While thinking about TBAA for array accesses, Deleted: trunk/Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp (147293 => 147294) --- trunk/Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp 2013-04-01 01:16:33 UTC (rev 147293) +++ trunk/Source/_javascript_Core/_javascript_Core.gyp/_javascript_Core.gyp 2013-04-01 03:06:57 UTC (rev 147294) @@ -1,100 +0,0 @@ -# -# Copyright (C) 2009, 2012 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -{ - 'includes': [ -'../../WebKit/chromium/WinPrecompile.gypi', -'../../WebKit/chromium/features.gypi', -'../_javascript_Core.gypi', - ], - 'variables': { -# Location of the chromium src directory. -'conditions': [ - ['inside_chromium_build==0', { -# Webkit is being built outside of the full chromium project. -'chromium_src_dir': '../../WebKit/chromium', - },{ -# WebKit is checked out in src/chromium/third_party/WebKit -'chromium_src_dir': '../../../../..', - }], -], - }, - 'conditions': [ -['os_posix == 1 and OS != mac and gcc_version=46', { - 'target_defaults': { -# Disable warnings about c++0x compatibility, as some names (such as nullptr) conflict -# with upcoming c++0x types. -'cflags_cc': ['-Wno-c++0x-compat'], - }, -}], - ], - 'targets': [ -{ - 'target_name': 'yarr', - 'type': 'static_library', - 'dependencies': [ -'../../WTF/WTF.gyp/WTF.gyp:wtf', - ], - 'variables': { 'optimize': 'max'
[webkit-changes] [147284] trunk/Source/WebCore
Title: [147284] trunk/Source/WebCore Revision 147284 Author aba...@webkit.org Date 2013-03-30 21:11:56 -0700 (Sat, 30 Mar 2013) Log Message Remove unused include of RegularExpression.h https://bugs.webkit.org/show_bug.cgi?id=113649 Reviewed by Dimitri Glazkov. * Modules/filesystem/DOMFilePath.cpp: - This include isn't used. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/filesystem/DOMFilePath.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (147283 => 147284) --- trunk/Source/WebCore/ChangeLog 2013-03-31 00:04:57 UTC (rev 147283) +++ trunk/Source/WebCore/ChangeLog 2013-03-31 04:11:56 UTC (rev 147284) @@ -1,3 +1,13 @@ +2013-03-30 Adam Barth aba...@webkit.org + +Remove unused include of RegularExpression.h +https://bugs.webkit.org/show_bug.cgi?id=113649 + +Reviewed by Dimitri Glazkov. + +* Modules/filesystem/DOMFilePath.cpp: +- This include isn't used. + 2013-03-30 Tom Sepez tse...@chromium.org Cross-Origin copypaste / dragdrop allowing XSS via srcdoc attribute. Modified: trunk/Source/WebCore/Modules/filesystem/DOMFilePath.cpp (147283 => 147284) --- trunk/Source/WebCore/Modules/filesystem/DOMFilePath.cpp 2013-03-31 00:04:57 UTC (rev 147283) +++ trunk/Source/WebCore/Modules/filesystem/DOMFilePath.cpp 2013-03-31 04:11:56 UTC (rev 147284) @@ -33,7 +33,6 @@ #if ENABLE(FILE_SYSTEM) -#include RegularExpression.h #include wtf/Vector.h #include wtf/text/CString.h ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [147285] trunk/Source/WebKit/chromium
Title: [147285] trunk/Source/WebKit/chromium Revision 147285 Author aba...@webkit.org Date 2013-03-30 21:30:59 -0700 (Sat, 30 Mar 2013) Log Message [Chromium] Remove unused includes of stdio.h https://bugs.webkit.org/show_bug.cgi?id=113650 Reviewed by Dimitri Glazkov. We shouldn't include stdio.h. These includes aren't used anyway. * src/WebInputEvent.cpp: * src/x11/WebScreenInfoFactory.cpp: Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/src/WebInputEvent.cpp trunk/Source/WebKit/chromium/src/x11/WebScreenInfoFactory.cpp Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (147284 => 147285) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-31 04:11:56 UTC (rev 147284) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-31 04:30:59 UTC (rev 147285) @@ -1,3 +1,15 @@ +2013-03-30 Adam Barth aba...@webkit.org + +[Chromium] Remove unused includes of stdio.h +https://bugs.webkit.org/show_bug.cgi?id=113650 + +Reviewed by Dimitri Glazkov. + +We shouldn't include stdio.h. These includes aren't used anyway. + +* src/WebInputEvent.cpp: +* src/x11/WebScreenInfoFactory.cpp: + 2013-03-30 Tom Sepez tse...@chromium.org View-source iframes are dangerous (and not very useful). Modified: trunk/Source/WebKit/chromium/src/WebInputEvent.cpp (147284 => 147285) --- trunk/Source/WebKit/chromium/src/WebInputEvent.cpp 2013-03-31 04:11:56 UTC (rev 147284) +++ trunk/Source/WebKit/chromium/src/WebInputEvent.cpp 2013-03-31 04:30:59 UTC (rev 147285) @@ -32,10 +32,7 @@ #include WebInputEvent.h #include KeyboardCodes.h - #include ctype.h -#include stdio.h - #include wtf/Assertions.h #include wtf/StringExtras.h Modified: trunk/Source/WebKit/chromium/src/x11/WebScreenInfoFactory.cpp (147284 => 147285) --- trunk/Source/WebKit/chromium/src/x11/WebScreenInfoFactory.cpp 2013-03-31 04:11:56 UTC (rev 147284) +++ trunk/Source/WebKit/chromium/src/x11/WebScreenInfoFactory.cpp 2013-03-31 04:30:59 UTC (rev 147285) @@ -32,9 +32,7 @@ #include WebScreenInfoFactory.h #include WebScreenInfo.h - #include X11/Xlib.h -#include stdio.h namespace WebKit { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [146464] trunk/Source
Title: [146464] trunk/Source Revision 146464 Author aba...@webkit.org Date 2013-03-21 07:30:38 -0700 (Thu, 21 Mar 2013) Log Message HTMLNames should construct strings at compile time https://bugs.webkit.org/show_bug.cgi?id=112831 Reviewed by Darin Adler. Source/WebCore: This patch teaches make_names how to construct strings at compile time, eliminating a large number of startup mallocs. * WebCore.gyp/WebCore.gyp: * WebCore.gyp/scripts/action_makenames.py: - Teach the Chromium build how to deal with Perl modules. * bindings/scripts/StaticString.pm: Added. - A Perl module for constructing static strings. (GenerateStrings): (GenerateValidateStrings): * dom/QualifiedName.cpp: (WebCore::createQualifiedName): - createQualifiedName now takes an already-constructed StringImpl object. * dom/QualifiedName.h: * dom/make_names.pl: (valueForName): (namesToStrings): (printNamesCppFile): (printDefinitions): - Teach make_names how to use StaticString.pm. Source/WTF: * wtf/text/StringImpl.h: (StringImpl): (StaticASCIILiteral): - This struct lets us construct StringImpl objects at compile time. (WTF::StringImpl::assertHashIsCorrect): - This function lets us sanity check StringImpl objects created from StaticData. (WTF::StringImpl::find): Remove a stray ; (WTF::StringImpl::findIgnoringCase): ditto (WTF::StringImpl::startsWith): ditto (WTF::ValueCheckStringImpl*): * wtf/text/AtomicStringImpl.h: (WTF::ValueCheckAtomicStringImpl*): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/text/AtomicStringImpl.h trunk/Source/WTF/wtf/text/StringImpl.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/GNUmakefile.am trunk/Source/WebCore/WebCore.gyp/WebCore.gyp trunk/Source/WebCore/WebCore.gyp/scripts/action_makenames.py trunk/Source/WebCore/dom/QualifiedName.cpp trunk/Source/WebCore/dom/QualifiedName.h trunk/Source/WebCore/dom/make_names.pl Added Paths trunk/Source/WebCore/bindings/scripts/StaticString.pm Diff Modified: trunk/Source/WTF/ChangeLog (146463 => 146464) --- trunk/Source/WTF/ChangeLog 2013-03-21 14:09:55 UTC (rev 146463) +++ trunk/Source/WTF/ChangeLog 2013-03-21 14:30:38 UTC (rev 146464) @@ -1,3 +1,23 @@ +2013-03-21 Adam Barth aba...@webkit.org + +HTMLNames should construct strings at compile time +https://bugs.webkit.org/show_bug.cgi?id=112831 + +Reviewed by Darin Adler. + +* wtf/text/StringImpl.h: +(StringImpl): +(StaticASCIILiteral): +- This struct lets us construct StringImpl objects at compile time. +(WTF::StringImpl::assertHashIsCorrect): +- This function lets us sanity check StringImpl objects created from StaticData. +(WTF::StringImpl::find): Remove a stray ; +(WTF::StringImpl::findIgnoringCase): ditto +(WTF::StringImpl::startsWith): ditto +(WTF::ValueCheckStringImpl*): +* wtf/text/AtomicStringImpl.h: +(WTF::ValueCheckAtomicStringImpl*): + 2013-03-21 Gabor Rapcsanyi rga...@webkit.org Implement LLInt for CPU(ARM_TRADITIONAL) Modified: trunk/Source/WTF/wtf/text/AtomicStringImpl.h (146463 => 146464) --- trunk/Source/WTF/wtf/text/AtomicStringImpl.h 2013-03-21 14:09:55 UTC (rev 146463) +++ trunk/Source/WTF/wtf/text/AtomicStringImpl.h 2013-03-21 14:30:38 UTC (rev 146464) @@ -31,6 +31,18 @@ AtomicStringImpl() : StringImpl(0) {} }; +#if !ASSERT_DISABLED +// AtomicStringImpls created from StaticASCIILiteral will ASSERT +// in the generic ValueCheckT::checkConsistency +// as they are not allocated by fastMalloc. +// We don't currently have any way to detect that case +// so we ignore the consistency check for all AtomicStringImpls*. +template struct +ValueCheckAtomicStringImpl* { +static void checkConsistency(const AtomicStringImpl*) { } +}; +#endif + } using WTF::AtomicStringImpl; Modified: trunk/Source/WTF/wtf/text/StringImpl.h (146463 => 146464) --- trunk/Source/WTF/wtf/text/StringImpl.h 2013-03-21 14:09:55 UTC (rev 146463) +++ trunk/Source/WTF/wtf/text/StringImpl.h 2013-03-21 14:30:38 UTC (rev 146464) @@ -690,11 +690,11 @@ size_t find(UChar character, unsigned start = 0); WTF_EXPORT_STRING_API size_t find(CharacterMatchFunctionPtr, unsigned index = 0); size_t find(const LChar*, unsigned index = 0); -ALWAYS_INLINE size_t find(const char* s, unsigned index = 0) { return find(reinterpret_castconst LChar*(s), index); }; +ALWAYS_INLINE size_t find(const char* s, unsigned index = 0) { return find(reinterpret_castconst LChar*(s), index); } WTF_EXPORT_STRING_API size_t find(StringImpl*); WTF_EXPORT_STRING_API size_t find(StringImpl*, unsigned index); size_t findIgnoringCase(const LChar*, unsigned index = 0); -ALWAYS_INLINE size_t findIgnoringCase(const char* s, unsigned index = 0) { return findIgnoringCase(reinterpret_castconst LChar*(s), index); }; +ALWAYS_INLINE size_t findIgnoringCase(const char* s, unsigned
[webkit-changes] [146419] trunk/Source
Title: [146419] trunk/Source Revision 146419 Author aba...@webkit.org Date 2013-03-20 17:31:45 -0700 (Wed, 20 Mar 2013) Log Message HTMLNames should construct strings at compile time https://bugs.webkit.org/show_bug.cgi?id=112831 Reviewed by Darin Adler. Source/WebCore: This patch teaches make_names how to construct strings at compile time, eliminating a large number of startup mallocs. * WebCore.gyp/WebCore.gyp: * WebCore.gyp/scripts/action_makenames.py: - Teach the Chromium build how to deal with Perl modules. * bindings/scripts/StaticString.pm: Added. - A Perl module for constructing static strings. (GenerateStrings): (GenerateValidateStrings): * dom/QualifiedName.cpp: (WebCore::createQualifiedName): - createQualifiedName now takes an already-constructed StringImpl object. * dom/QualifiedName.h: * dom/make_names.pl: (valueForName): (namesToStrings): (printNamesCppFile): (printDefinitions): - Teach make_names how to use StaticString.pm. Source/WTF: * wtf/text/StringImpl.h: (StringImpl): (StaticASCIILiteral): - This struct lets us construct StringImpl objects at compile time. (WTF::StringImpl::assertValidHash): - This function lets us sanity check StringImpl objects created from StaticData. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/text/StringImpl.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/GNUmakefile.am trunk/Source/WebCore/WebCore.gyp/WebCore.gyp trunk/Source/WebCore/WebCore.gyp/scripts/action_makenames.py trunk/Source/WebCore/dom/QualifiedName.cpp trunk/Source/WebCore/dom/QualifiedName.h trunk/Source/WebCore/dom/make_names.pl Added Paths trunk/Source/WebCore/bindings/scripts/StaticString.pm Diff Modified: trunk/Source/WTF/ChangeLog (146418 => 146419) --- trunk/Source/WTF/ChangeLog 2013-03-21 00:20:55 UTC (rev 146418) +++ trunk/Source/WTF/ChangeLog 2013-03-21 00:31:45 UTC (rev 146419) @@ -1,3 +1,17 @@ +2013-03-20 Adam Barth aba...@webkit.org + +HTMLNames should construct strings at compile time +https://bugs.webkit.org/show_bug.cgi?id=112831 + +Reviewed by Darin Adler. + +* wtf/text/StringImpl.h: +(StringImpl): +(StaticASCIILiteral): +- This struct lets us construct StringImpl objects at compile time. +(WTF::StringImpl::assertValidHash): +- This function lets us sanity check StringImpl objects created from StaticData. + 2013-03-20 Jessie Berlin jber...@apple.com REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into Modified: trunk/Source/WTF/wtf/text/StringImpl.h (146418 => 146419) --- trunk/Source/WTF/wtf/text/StringImpl.h 2013-03-21 00:20:55 UTC (rev 146418) +++ trunk/Source/WTF/wtf/text/StringImpl.h 2013-03-21 00:31:45 UTC (rev 146419) @@ -772,6 +772,32 @@ #ifdef STRING_STATS WTF_EXPORTDATA static StringStats m_stringStats; #endif + +public: +struct StaticASCIILiteral { +// These member variables must match the layout of StringImpl. +unsigned m_refCount; +unsigned m_length; +const LChar* m_data8; +void* m_buffer; +unsigned m_hashAndFlags; + +// These values mimic ConstructFromLiteral. +static const unsigned s_initialRefCount = s_refCountIncrement; +static const unsigned s_initialFlags = s_hashFlag8BitBuffer | BufferInternal | s_hashFlagHasTerminatingNullCharacter; +static const unsigned s_hashShift = s_flagCount; +}; + +#ifndef NDEBUG +void assertHashIsCorrect() +{ +ASSERT(hasHash()); +ASSERT(existingHash() == StringHasher::computeHashAndMaskTop8Bits(characters8(), length())); +} +#endif + +private: +// These member variables must match the layout of StaticASCIILiteral. unsigned m_refCount; unsigned m_length; union { @@ -789,6 +815,8 @@ mutable unsigned m_hashAndFlags; }; +COMPILE_ASSERT(sizeof(StringImpl) == sizeof(StringImpl::StaticASCIILiteral), StringImpl_should_match_its_StaticASCIILiteral); + template ALWAYS_INLINE const LChar* StringImpl::getCharactersLChar() const { return characters8(); } Modified: trunk/Source/WebCore/ChangeLog (146418 => 146419) --- trunk/Source/WebCore/ChangeLog 2013-03-21 00:20:55 UTC (rev 146418) +++ trunk/Source/WebCore/ChangeLog 2013-03-21 00:31:45 UTC (rev 146419) @@ -1,3 +1,32 @@ +2013-03-20 Adam Barth aba...@webkit.org + +HTMLNames should construct strings at compile time +https://bugs.webkit.org/show_bug.cgi?id=112831 + +Reviewed by Darin Adler. + +This patch teaches make_names how to construct strings at compile time, +eliminating a large number of startup mallocs. + +* WebCore.gyp/WebCore.gyp: +* WebCore.gyp/scripts/action_makenames.py: +- Teach the Chromium build how to deal with Perl modules. +* bindings/scripts/StaticString.pm: Added. +- A Perl module
[webkit-changes] [146185] trunk/Source/WebCore
Title: [146185] trunk/Source/WebCore Revision 146185 Author aba...@webkit.org Date 2013-03-19 00:56:44 -0700 (Tue, 19 Mar 2013) Log Message [chromium] Regression(143825): select elements don't open when there is a marquee on the page https://bugs.webkit.org/show_bug.cgi?id=111278 Unreviewed. This patch is a rollout of http://trac.webkit.org/changeset/143825. The original patch caused a regression in the Chromium port. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollTo): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (146184 => 146185) --- trunk/Source/WebCore/ChangeLog 2013-03-19 07:50:24 UTC (rev 146184) +++ trunk/Source/WebCore/ChangeLog 2013-03-19 07:56:44 UTC (rev 146185) @@ -1,3 +1,16 @@ +2013-03-19 Adam Barth aba...@webkit.org + +[chromium] Regression(143825): select elements don't open when there is a marquee on the page +https://bugs.webkit.org/show_bug.cgi?id=111278 + +Unreviewed. + +This patch is a rollout of http://trac.webkit.org/changeset/143825. The +original patch caused a regression in the Chromium port. + +* rendering/RenderLayer.cpp: +(WebCore::RenderLayer::scrollTo): + 2013-03-19 Alexander Pavlov apav...@chromium.org Web Inspector: [Styles] Matching @host rule children are not displayed Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (146184 => 146185) --- trunk/Source/WebCore/rendering/RenderLayer.cpp 2013-03-19 07:50:24 UTC (rev 146184) +++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2013-03-19 07:56:44 UTC (rev 146185) @@ -2214,7 +2214,6 @@ renderer()-node()-document()-eventQueue()-enqueueOrDispatchScrollEvent(renderer()-node(), DocumentEventQueue::ScrollEventElementTarget); InspectorInstrumentation::didScrollLayer(frame); -frame-loader()-client()-didChangeScrollOffset(); } static inline bool frameElementAndViewPermitScroll(HTMLFrameElement* frameElement, FrameView* frameView) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [146253] trunk/Source/WebCore
Title: [146253] trunk/Source/WebCore Revision 146253 Author aba...@webkit.org Date 2013-03-19 13:45:36 -0700 (Tue, 19 Mar 2013) Log Message GenerateHashValue should be usable outside CodeGeneratorJS.pm https://bugs.webkit.org/show_bug.cgi?id=112736 Reviewed by Benjamin Poulain. GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the function matches the StringHash used in WTF. This patch moves the function into a separate Perl module so that it can be used by other Perl scripts. For example, I plan to use this function to compute the hash value for HTMLNames at compile time rather than at startup. * bindings/scripts/CodeGeneratorJS.pm: (GenerateHashTable): * bindings/scripts/Hash.pm: Added. (leftShift): (GenerateHashValue): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm Added Paths trunk/Source/WebCore/bindings/scripts/Hasher.pm Diff Modified: trunk/Source/WebCore/ChangeLog (146252 => 146253) --- trunk/Source/WebCore/ChangeLog 2013-03-19 20:35:43 UTC (rev 146252) +++ trunk/Source/WebCore/ChangeLog 2013-03-19 20:45:36 UTC (rev 146253) @@ -1,3 +1,22 @@ +2013-03-19 Adam Barth aba...@webkit.org + +GenerateHashValue should be usable outside CodeGeneratorJS.pm +https://bugs.webkit.org/show_bug.cgi?id=112736 + +Reviewed by Benjamin Poulain. + +GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the +function matches the StringHash used in WTF. This patch moves the +function into a separate Perl module so that it can be used by other +Perl scripts. For example, I plan to use this function to compute the +hash value for HTMLNames at compile time rather than at startup. + +* bindings/scripts/CodeGeneratorJS.pm: +(GenerateHashTable): +* bindings/scripts/Hash.pm: Added. +(leftShift): +(GenerateHashValue): + 2013-03-19 Dean Jackson d...@apple.com Allow PlugIn Snapshotting to be tested Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (146252 => 146253) --- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-03-19 20:35:43 UTC (rev 146252) +++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-03-19 20:45:36 UTC (rev 146253) @@ -28,8 +28,8 @@ package CodeGeneratorJS; use strict; - use constant FileNamePrefix = JS; +use Hasher; my $codeGenerator; @@ -85,11 +85,6 @@ return $reference; } -sub leftShift($$) { -my ($value, $distance) = @_; -return (($value $distance) 0x); -} - sub GenerateInterface { my $object = shift; @@ -3472,7 +3467,7 @@ my $i = 0; foreach (@{$keys}) { my $depth = 0; -my $h = $object-GenerateHashValue($_) % $numEntries; +my $h = Hasher::GenerateHashValue($_) % $numEntries; while (defined($table[$h])) { if (defined($links[$h])) { @@ -3543,65 +3538,6 @@ push(@implContent, static const HashTable $name = { $compactSize, $compactSizeMask, $nameEntries, 0 };\n); } -# Paul Hsieh's SuperFastHash -# http://www.azillionmonkeys.com/qed/hash.html -sub GenerateHashValue -{ -my $object = shift; - -my @chars = split(/ */, $_[0]); - -# This hash is designed to work on 16-bit chunks at a time. But since the normal case -# (above) is to hash UTF-16 characters, we just treat the 8-bit chars as if they -# were 16-bit chunks, which should give matching results - -my $EXP2_32 = 4294967296; - -my $hash = 0x9e3779b9; -my $l= scalar @chars; #I wish this was in Ruby --- Maks -my $rem = $l 1; -$l = $l 1; - -my $s = 0; - -# Main loop -for (; $l 0; $l--) { -$hash += ord($chars[$s]); -my $tmp = leftShift(ord($chars[$s+1]), 11) ^ $hash; -$hash = (leftShift($hash, 16)% $EXP2_32) ^ $tmp; -$s += 2; -$hash += $hash 11; -$hash %= $EXP2_32; -} - -# Handle end case -if ($rem != 0) { -$hash += ord($chars[$s]); -$hash ^= (leftShift($hash, 11)% $EXP2_32); -$hash += $hash 17; -} - -# Force avalanching of final 127 bits -$hash ^= leftShift($hash, 3); -$hash += ($hash 5); -$hash = ($hash% $EXP2_32); -$hash ^= (leftShift($hash, 2)% $EXP2_32); -$hash += ($hash 15); -$hash = $hash% $EXP2_32; -$hash ^= (leftShift($hash, 10)% $EXP2_32); - -# Save 8 bits for StringImpl to use as flags. -$hash = 0xff; - -# This avoids ever returning a hash code of 0, since that is used to -# signal hash not computed yet. Setting the high bit maintains -# reasonable fidelity to a hash code of 0 because it is likely to yield -# exactly 0 when hash lookup masks out the high bits. -$hash = (0x8000 8) if ($hash == 0); - -return $hash; -} - sub WriteData { my $object = shift; Added: trunk/Source/WebCore/bindings/scripts/Hasher.pm (0 =>
[webkit-changes] [146074] trunk
Title: [146074] trunk Revision 146074 Author aba...@webkit.org Date 2013-03-18 09:56:58 -0700 (Mon, 18 Mar 2013) Log Message [V8] Crash when accessing onclick attribute of document from XMLHttpRequest https://bugs.webkit.org/show_bug.cgi?id=112585 Reviewed by Eric Seidel. Source/WebCore: This ASSERT was bogus. The frame can be 0 for frameless documents, like those created by XMLHttpRequest. When there is no frame, we act as if _javascript_ was disabled, which it is. Test: fast/events/xhr-onclick-crash.html * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::prepareListenerObject): LayoutTests: * fast/events/resources/onclick.html: Added. * fast/events/xhr-onclick-crash-expected.txt: Added. * fast/events/xhr-onclick-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/v8/V8LazyEventListener.cpp Added Paths trunk/LayoutTests/fast/events/resources/onclick.html trunk/LayoutTests/fast/events/xhr-onclick-crash-expected.txt trunk/LayoutTests/fast/events/xhr-onclick-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (146073 => 146074) --- trunk/LayoutTests/ChangeLog 2013-03-18 16:54:04 UTC (rev 146073) +++ trunk/LayoutTests/ChangeLog 2013-03-18 16:56:58 UTC (rev 146074) @@ -1,3 +1,14 @@ +2013-03-18 Adam Barth aba...@webkit.org + +[V8] Crash when accessing onclick attribute of document from XMLHttpRequest +https://bugs.webkit.org/show_bug.cgi?id=112585 + +Reviewed by Eric Seidel. + +* fast/events/resources/onclick.html: Added. +* fast/events/xhr-onclick-crash-expected.txt: Added. +* fast/events/xhr-onclick-crash.html: Added. + 2013-03-18 Hans Muller hmul...@adobe.com [CSS Exclusions] Specifying polygonal -webkit-shape-inside value can crash browser (debug mode) Added: trunk/LayoutTests/fast/events/resources/onclick.html (0 => 146074) --- trunk/LayoutTests/fast/events/resources/onclick.html (rev 0) +++ trunk/LayoutTests/fast/events/resources/onclick.html 2013-03-18 16:56:58 UTC (rev 146074) @@ -0,0 +1,9 @@ +html +body +tabletr +td id='foo' +a _onclick_=return 'bar' href="" +/td +/tr/table +/body +/html Added: trunk/LayoutTests/fast/events/xhr-onclick-crash-expected.txt (0 => 146074) --- trunk/LayoutTests/fast/events/xhr-onclick-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/events/xhr-onclick-crash-expected.txt 2013-03-18 16:56:58 UTC (rev 146074) @@ -0,0 +1 @@ +This test passes if it doesn't crash. Added: trunk/LayoutTests/fast/events/xhr-onclick-crash.html (0 => 146074) --- trunk/LayoutTests/fast/events/xhr-onclick-crash.html (rev 0) +++ trunk/LayoutTests/fast/events/xhr-onclick-crash.html 2013-03-18 16:56:58 UTC (rev 146074) @@ -0,0 +1,13 @@ +This test passes if it doesn't crash. +script +if (window.testRunner) +testRunner.dumpAsText(); + +xhr = new XMLHttpRequest(); +xhr.open('GET', 'resources/onclick.html', false); +xhr.responseType = 'document'; +xhr._onload_ = function () { r = this.responseXML; } +xhr.send(); +td = r.getElementById('foo'); +td.children[0].onclick; +/script Modified: trunk/Source/WebCore/ChangeLog (146073 => 146074) --- trunk/Source/WebCore/ChangeLog 2013-03-18 16:54:04 UTC (rev 146073) +++ trunk/Source/WebCore/ChangeLog 2013-03-18 16:56:58 UTC (rev 146074) @@ -1,3 +1,19 @@ +2013-03-18 Adam Barth aba...@webkit.org + +[V8] Crash when accessing onclick attribute of document from XMLHttpRequest +https://bugs.webkit.org/show_bug.cgi?id=112585 + +Reviewed by Eric Seidel. + +This ASSERT was bogus. The frame can be 0 for frameless documents, like +those created by XMLHttpRequest. When there is no frame, we act as if +_javascript_ was disabled, which it is. + +Test: fast/events/xhr-onclick-crash.html + +* bindings/v8/V8LazyEventListener.cpp: +(WebCore::V8LazyEventListener::prepareListenerObject): + 2013-03-18 Hans Muller hmul...@adobe.com [CSS Exclusions] Specifying polygonal -webkit-shape-inside value can crash browser (debug mode) Modified: trunk/Source/WebCore/bindings/v8/V8LazyEventListener.cpp (146073 => 146074) --- trunk/Source/WebCore/bindings/v8/V8LazyEventListener.cpp 2013-03-18 16:54:04 UTC (rev 146073) +++ trunk/Source/WebCore/bindings/v8/V8LazyEventListener.cpp 2013-03-18 16:56:58 UTC (rev 146074) @@ -116,13 +116,16 @@ if (context-isDocument() !toDocument(context)-contentSecurityPolicy()-allowInlineEventHandlers(m_sourceURL, m_position.m_line)) return; -v8::HandleScope handleScope; - ASSERT(context-isDocument()); Frame* frame = toDocument(context)-frame(); -ASSERT(frame); +if (!frame) +return; + if (!frame-script()-canExecuteScripts(NotAboutToExecuteScript)) return; + +v8::HandleScope handleScope; + // Use the outer scope to hold context.
[webkit-changes] [146012] branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp
Title: [146012] branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp Revision 146012 Author aba...@webkit.org Date 2013-03-17 10:12:19 -0700 (Sun, 17 Mar 2013) Log Message Revert 143825 RenderLayer::scrollTo() should call FrameLoaderCl... RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset() https://bugs.webkit.org/show_bug.cgi?id=110673 -and corresponding- rdar://problem/13258596 Reviewed by Sam Weinig. FrameLoaderClient::didChangeScrollOffset() doesn't get called for web pages that have overflow on the body. We can easily address this by calling it at the end of RenderLayer::scrollTo(). * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollTo): TBR=bda...@apple.com Review URL: https://codereview.chromium.org/12851007 Modified Paths branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp Diff Modified: branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp (146011 => 146012) --- branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp 2013-03-17 16:49:43 UTC (rev 146011) +++ branches/chromium/1441/Source/WebCore/rendering/RenderLayer.cpp 2013-03-17 17:12:19 UTC (rev 146012) @@ -2214,7 +2214,6 @@ renderer()-node()-document()-eventQueue()-enqueueOrDispatchScrollEvent(renderer()-node(), DocumentEventQueue::ScrollEventElementTarget); InspectorInstrumentation::didScrollLayer(frame); -frame-loader()-client()-didChangeScrollOffset(); } static inline bool frameElementAndViewPermitScroll(HTMLFrameElement* frameElement, FrameView* frameView) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [146031] trunk/Source/WebKit/chromium
Title: [146031] trunk/Source/WebKit/chromium Revision 146031 Author aba...@webkit.org Date 2013-03-17 20:28:29 -0700 (Sun, 17 Mar 2013) Log Message [Chromium] Remove unused WebNode::hasEventListeners API https://bugs.webkit.org/show_bug.cgi?id=112529 Reviewed by James Robinson. This API no longer has any callers and can be removed. * public/WebNode.h: * src/WebNode.cpp: Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/public/WebNode.h trunk/Source/WebKit/chromium/src/WebNode.cpp Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (146030 => 146031) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-18 02:21:26 UTC (rev 146030) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-18 03:28:29 UTC (rev 146031) @@ -1,3 +1,15 @@ +2013-03-17 Adam Barth aba...@webkit.org + +[Chromium] Remove unused WebNode::hasEventListeners API +https://bugs.webkit.org/show_bug.cgi?id=112529 + +Reviewed by James Robinson. + +This API no longer has any callers and can be removed. + +* public/WebNode.h: +* src/WebNode.cpp: + 2013-03-16 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r145898. Modified: trunk/Source/WebKit/chromium/public/WebNode.h (146030 => 146031) --- trunk/Source/WebKit/chromium/public/WebNode.h 2013-03-18 02:21:26 UTC (rev 146030) +++ trunk/Source/WebKit/chromium/public/WebNode.h 2013-03-18 03:28:29 UTC (rev 146031) @@ -107,8 +107,6 @@ WEBKIT_EXPORT bool isFocusable() const; WEBKIT_EXPORT bool isContentEditable() const; WEBKIT_EXPORT bool isElementNode() const; -// hasEventListeners only works with a small set of eventTypes. -WEBKIT_EXPORT bool hasEventListeners(const WebString eventType) const; // addEventListener only works with a small set of eventTypes. WEBKIT_EXPORT void addEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture); WEBKIT_EXPORT bool dispatchEvent(const WebDOMEvent); Modified: trunk/Source/WebKit/chromium/src/WebNode.cpp (146030 => 146031) --- trunk/Source/WebKit/chromium/src/WebNode.cpp 2013-03-18 02:21:26 UTC (rev 146030) +++ trunk/Source/WebKit/chromium/src/WebNode.cpp 2013-03-18 03:28:29 UTC (rev 146031) @@ -178,18 +178,6 @@ return m_private-isElementNode(); } -bool WebNode::hasEventListeners(const WebString eventType) const -{ -// FIXME: permissionrequest seems like an implementation detail of the -//the browser plug-in. Perhaps the browser plug-in should have -//a more special-purpose mechanism? -//See http://code.google.com/p/chromium/issues/detail?id=189561 - -// Please do not add more eventTypes to this list without an API review. -RELEASE_ASSERT(eventType == permissionrequest); -return m_private-hasEventListeners(eventType); -} - void WebNode::addEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture) { // Please do not add more eventTypes to this list without an API review. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [145764] trunk/Tools
Title: [145764] trunk/Tools Revision 145764 Author aba...@webkit.org Date 2013-03-13 15:34:12 -0700 (Wed, 13 Mar 2013) Log Message run-perf-tests should support content_shell https://bugs.webkit.org/show_bug.cgi?id=112291 Reviewed by Eric Seidel. * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py Diff Modified: trunk/Tools/ChangeLog (145763 => 145764) --- trunk/Tools/ChangeLog 2013-03-13 22:30:50 UTC (rev 145763) +++ trunk/Tools/ChangeLog 2013-03-13 22:34:12 UTC (rev 145764) @@ -1,3 +1,13 @@ +2013-03-13 Adam Barth aba...@webkit.org + +run-perf-tests should support content_shell +https://bugs.webkit.org/show_bug.cgi?id=112291 + +Reviewed by Eric Seidel. + +* Scripts/webkitpy/performance_tests/perftestsrunner.py: +(PerfTestsRunner._parse_args): + 2013-03-13 Oliver Hunt oli...@apple.com Simplify Checked multiplication Modified: trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py (145763 => 145764) --- trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py 2013-03-13 22:30:50 UTC (rev 145763) +++ trunk/Tools/Scripts/webkitpy/performance_tests/perftest.py 2013-03-13 22:34:12 UTC (rev 145764) @@ -234,6 +234,9 @@ re.compile(r'^Unknown option:'), re.compile(r'^\[WARNING:proxy_service.cc'), re.compile(r'^\[INFO:'), +# These stderr messages come from content_shell on chromium-linux. +re.compile(r'INFO:SkFontHost_fontconfig.cpp'), +re.compile(r'Running without the SUID sandbox'), ] _lines_to_ignore_in_parser_result = [ Modified: trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py (145763 => 145764) --- trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py 2013-03-13 22:30:50 UTC (rev 145763) +++ trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py 2013-03-13 22:34:12 UTC (rev 145764) @@ -127,6 +127,8 @@ optparse.make_option(--additional-drt-flag, action="" default=[], help=Additional command line flag to pass to DumpRenderTree Specify multiple times to add multiple flags.), +optparse.make_option(--driver-name, type=string, +help=Alternative DumpRenderTree binary to use), optparse.make_option(--repeat, default=1, type=int, help=Specify number of times to run test set (default: 1).), optparse.make_option(--test-runner-count, default=DEFAULT_TEST_RUNNER_COUNT, type=int, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [145770] trunk/Source/WebKit/chromium
Title: [145770] trunk/Source/WebKit/chromium Revision 145770 Author aba...@webkit.org Date 2013-03-13 16:16:28 -0700 (Wed, 13 Mar 2013) Log Message [Chromium] Restrict WebNode::addEventListener and friends to a whitelist of event types https://bugs.webkit.org/show_bug.cgi?id=112195 Reviewed by Eric Seidel. Chromium only uses these APIs in extremely narrow ways. In order to discourage Chromium from using these APIs in broader ways, this patch restricts the APIs to a small whitelist of event types. We might want to add some sort of flag to let CEF use expose these APIs more broadly. * WebKit.gypi: * public/WebNode.h: * src/WebNode.cpp: (WebKit::WebNode::hasEventListeners): (WebKit::WebNode::addEventListener): * tests/EventListenerTest.cpp: Removed. - These tests of DOM mutation events are no longer needed because we don't support listening for DOM mutation events via the API anymore. Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/WebKit.gypi trunk/Source/WebKit/chromium/public/WebNode.h trunk/Source/WebKit/chromium/src/WebNode.cpp Removed Paths trunk/Source/WebKit/chromium/tests/EventListenerTest.cpp Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (145769 => 145770) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-13 23:00:39 UTC (rev 145769) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-13 23:16:28 UTC (rev 145770) @@ -1,3 +1,27 @@ +2013-03-13 Adam Barth aba...@webkit.org + +[Chromium] Restrict WebNode::addEventListener and friends to a whitelist of event types +https://bugs.webkit.org/show_bug.cgi?id=112195 + +Reviewed by Eric Seidel. + +Chromium only uses these APIs in extremely narrow ways. In order to +discourage Chromium from using these APIs in broader ways, this patch +restricts the APIs to a small whitelist of event types. + +We might want to add some sort of flag to let CEF use expose these APIs +more broadly. + +* WebKit.gypi: +* public/WebNode.h: +* src/WebNode.cpp: +(WebKit::WebNode::hasEventListeners): +(WebKit::WebNode::addEventListener): +* tests/EventListenerTest.cpp: Removed. +- These tests of DOM mutation events are no longer needed because we + don't support listening for DOM mutation events via the API + anymore. + 2013-03-13 Stephen Chenney schen...@chromium.org Add new Skia code suppression flags Modified: trunk/Source/WebKit/chromium/WebKit.gypi (145769 => 145770) --- trunk/Source/WebKit/chromium/WebKit.gypi 2013-03-13 23:00:39 UTC (rev 145769) +++ trunk/Source/WebKit/chromium/WebKit.gypi 2013-03-13 23:16:28 UTC (rev 145770) @@ -64,7 +64,6 @@ 'tests/DecimalTest.cpp', 'tests/DeferredImageDecoderTest.cpp', 'tests/DragImageTest.cpp', -'tests/EventListenerTest.cpp', 'tests/FakeWebPlugin.cpp', 'tests/FakeWebPlugin.h', 'tests/FakeWebGraphicsContext3D.h', Modified: trunk/Source/WebKit/chromium/public/WebNode.h (145769 => 145770) --- trunk/Source/WebKit/chromium/public/WebNode.h 2013-03-13 23:00:39 UTC (rev 145769) +++ trunk/Source/WebKit/chromium/public/WebNode.h 2013-03-13 23:16:28 UTC (rev 145770) @@ -107,9 +107,10 @@ WEBKIT_EXPORT bool isFocusable() const; WEBKIT_EXPORT bool isContentEditable() const; WEBKIT_EXPORT bool isElementNode() const; +// hasEventListeners only works with a small set of eventTypes. WEBKIT_EXPORT bool hasEventListeners(const WebString eventType) const; +// addEventListener only works with a small set of eventTypes. WEBKIT_EXPORT void addEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture); -WEBKIT_EXPORT void removeEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture); WEBKIT_EXPORT bool dispatchEvent(const WebDOMEvent); WEBKIT_EXPORT void simulateClick(); WEBKIT_EXPORT WebNodeList getElementsByTagName(const WebString) const; Modified: trunk/Source/WebKit/chromium/src/WebNode.cpp (145769 => 145770) --- trunk/Source/WebKit/chromium/src/WebNode.cpp 2013-03-13 23:00:39 UTC (rev 145769) +++ trunk/Source/WebKit/chromium/src/WebNode.cpp 2013-03-13 23:16:28 UTC (rev 145770) @@ -180,27 +180,28 @@ bool WebNode::hasEventListeners(const WebString eventType) const { +// FIXME: permissionrequest seems like an implementation detail of the +//the browser plug-in. Perhaps the browser plug-in should have +//a more special-purpose mechanism? +//See http://code.google.com/p/chromium/issues/detail?id=189561 + +// Please do not add more eventTypes to this list without an API review. +RELEASE_ASSERT(eventType == permissionrequest); return m_private-hasEventListeners(eventType); } void WebNode::addEventListener(const WebString eventType, WebDOMEventListener*
[webkit-changes] [145589] trunk/Source/WebKit/chromium
Title: [145589] trunk/Source/WebKit/chromium Revision 145589 Author aba...@webkit.org Date 2013-03-12 14:54:11 -0700 (Tue, 12 Mar 2013) Log Message [Chromium] Remove WEBKIT_USING_V8 from the WebKit API https://bugs.webkit.org/show_bug.cgi?id=112120 Reviewed by Tony Chang. Chromium always uses V8. This macro has outlived it's usefulness. It's now just noise. * README: * public/WebArrayBuffer.h: (WebArrayBuffer): * public/WebArrayBufferView.h: (WebArrayBufferView): * public/WebBindings.h: (WebBindings): * public/WebBlob.h: (WebBlob): * public/WebFrame.h: (WebFrame): * public/WebFrameClient.h: * public/WebSerializedScriptValue.h: (WebSerializedScriptValue): * src/WebArrayBuffer.cpp: (WebKit::WebArrayBuffer::createFromV8Value): * src/WebArrayBufferView.cpp: (WebKit::WebArrayBufferView::createFromV8Value): * src/WebBindings.cpp: (WebKit::WebBindings::toV8Value): * src/WebBlob.cpp: (WebKit::WebBlob::toV8Value): * src/WebFrameImpl.cpp: (WebKit::WebFrame::frameForContext): * src/WebFrameImpl.h: (WebFrameImpl): * src/WebSerializedScriptValue.cpp: (WebKit::WebSerializedScriptValue::serialize): (WebKit::WebSerializedScriptValue::deserialize): Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/README trunk/Source/WebKit/chromium/public/WebArrayBuffer.h trunk/Source/WebKit/chromium/public/WebArrayBufferView.h trunk/Source/WebKit/chromium/public/WebBindings.h trunk/Source/WebKit/chromium/public/WebBlob.h trunk/Source/WebKit/chromium/public/WebFrame.h trunk/Source/WebKit/chromium/public/WebFrameClient.h trunk/Source/WebKit/chromium/public/WebSerializedScriptValue.h trunk/Source/WebKit/chromium/src/WebArrayBuffer.cpp trunk/Source/WebKit/chromium/src/WebArrayBufferView.cpp trunk/Source/WebKit/chromium/src/WebBindings.cpp trunk/Source/WebKit/chromium/src/WebBlob.cpp trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp trunk/Source/WebKit/chromium/src/WebFrameImpl.h trunk/Source/WebKit/chromium/src/WebSerializedScriptValue.cpp Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (145588 => 145589) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-12 21:53:19 UTC (rev 145588) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-12 21:54:11 UTC (rev 145589) @@ -1,3 +1,43 @@ +2013-03-12 Adam Barth aba...@webkit.org + +[Chromium] Remove WEBKIT_USING_V8 from the WebKit API +https://bugs.webkit.org/show_bug.cgi?id=112120 + +Reviewed by Tony Chang. + +Chromium always uses V8. This macro has outlived it's usefulness. It's +now just noise. + +* README: +* public/WebArrayBuffer.h: +(WebArrayBuffer): +* public/WebArrayBufferView.h: +(WebArrayBufferView): +* public/WebBindings.h: +(WebBindings): +* public/WebBlob.h: +(WebBlob): +* public/WebFrame.h: +(WebFrame): +* public/WebFrameClient.h: +* public/WebSerializedScriptValue.h: +(WebSerializedScriptValue): +* src/WebArrayBuffer.cpp: +(WebKit::WebArrayBuffer::createFromV8Value): +* src/WebArrayBufferView.cpp: +(WebKit::WebArrayBufferView::createFromV8Value): +* src/WebBindings.cpp: +(WebKit::WebBindings::toV8Value): +* src/WebBlob.cpp: +(WebKit::WebBlob::toV8Value): +* src/WebFrameImpl.cpp: +(WebKit::WebFrame::frameForContext): +* src/WebFrameImpl.h: +(WebFrameImpl): +* src/WebSerializedScriptValue.cpp: +(WebKit::WebSerializedScriptValue::serialize): +(WebKit::WebSerializedScriptValue::deserialize): + 2013-03-12 Abhishek Arya infe...@chromium.org Replace static_casts with to* functions. Modified: trunk/Source/WebKit/chromium/README (145588 => 145589) --- trunk/Source/WebKit/chromium/README 2013-03-12 21:53:19 UTC (rev 145588) +++ trunk/Source/WebKit/chromium/README 2013-03-12 21:54:11 UTC (rev 145589) @@ -35,11 +35,7 @@ called by a public inline-defined method should be annotated with WEBKIT_EXPORT. WEBKIT_EXPORT is not used to export whole classes. - WEBKIT_USING_V8 is defined when using V8 as the _javascript_ library. - WEBKIT_USING_JSC is defined when using JSC as the _javascript_ library. - - BASIC TYPES Use of STL is prohibited except in cases where it would be allowed in Modified: trunk/Source/WebKit/chromium/public/WebArrayBuffer.h (145588 => 145589) --- trunk/Source/WebKit/chromium/public/WebArrayBuffer.h 2013-03-12 21:53:19 UTC (rev 145588) +++ trunk/Source/WebKit/chromium/public/WebArrayBuffer.h 2013-03-12 21:54:11 UTC (rev 145589) @@ -34,12 +34,10 @@ #include ../../../Platform/chromium/public/WebCommon.h #include ../../../Platform/chromium/public/WebPrivatePtr.h -#if WEBKIT_USING_V8 namespace v8 { class Value; template class T class Handle; } -#endif namespace WTF { class ArrayBuffer; } @@ -66,10 +64,8 @@ WEBKIT_EXPORT void* data() const; WEBKIT_EXPORT unsigned byteLength() const; -#if
[webkit-changes] [145591] trunk/LayoutTests
Title: [145591] trunk/LayoutTests Revision 145591 Author aba...@webkit.org Date 2013-03-12 14:58:01 -0700 (Tue, 12 Mar 2013) Log Message Remove stray .gitmodules file https://bugs.webkit.org/show_bug.cgi?id=112186 Reviewed by Tony Chang. Apparently I imported this together with the jquery tests by mistake. * jquery/resources/src/sizzle/.gitmodules: Removed. Modified Paths trunk/LayoutTests/ChangeLog Removed Paths trunk/LayoutTests/jquery/resources/src/sizzle/.gitmodules trunk/LayoutTests/jquery/resources/test/qunit/.gitignore Diff Modified: trunk/LayoutTests/ChangeLog (145590 => 145591) --- trunk/LayoutTests/ChangeLog 2013-03-12 21:55:25 UTC (rev 145590) +++ trunk/LayoutTests/ChangeLog 2013-03-12 21:58:01 UTC (rev 145591) @@ -1,3 +1,14 @@ +2013-03-12 Adam Barth aba...@webkit.org + +Remove stray .gitmodules file +https://bugs.webkit.org/show_bug.cgi?id=112186 + +Reviewed by Tony Chang. + +Apparently I imported this together with the jquery tests by mistake. + +* jquery/resources/src/sizzle/.gitmodules: Removed. + 2013-03-12 Christian Biesinger cbiesin...@chromium.org Mac: Incorrect rendering of audio controls Deleted: trunk/LayoutTests/jquery/resources/src/sizzle/.gitmodules (145590 => 145591) --- trunk/LayoutTests/jquery/resources/src/sizzle/.gitmodules 2013-03-12 21:55:25 UTC (rev 145590) +++ trunk/LayoutTests/jquery/resources/src/sizzle/.gitmodules 2013-03-12 21:58:01 UTC (rev 145591) @@ -1,3 +0,0 @@ -[submodule test/qunit] - path = test/qunit - url = "" Deleted: trunk/LayoutTests/jquery/resources/test/qunit/.gitignore (145590 => 145591) --- trunk/LayoutTests/jquery/resources/test/qunit/.gitignore 2013-03-12 21:55:25 UTC (rev 145590) +++ trunk/LayoutTests/jquery/resources/test/qunit/.gitignore 2013-03-12 21:58:01 UTC (rev 145591) @@ -1,6 +0,0 @@ -.project -*~ -*.diff -*.patch -.DS_Store - ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [145597] trunk/Source/WebKit/chromium
Title: [145597] trunk/Source/WebKit/chromium Revision 145597 Author aba...@webkit.org Date 2013-03-12 15:21:38 -0700 (Tue, 12 Mar 2013) Log Message Unreviewed. Rolled Chromium DEPS to r187660. Requested by Adam Barth aba...@webkit.org via sheriffbot. Patch by Sheriff Bot webkit.review@gmail.com on 2013-03-12 * DEPS: Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/DEPS Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (145596 => 145597) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-12 22:21:28 UTC (rev 145596) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-12 22:21:38 UTC (rev 145597) @@ -1,3 +1,10 @@ +2013-03-12 Sheriff Bot webkit.review@gmail.com + +Unreviewed. Rolled Chromium DEPS to r187660. Requested by +Adam Barth aba...@webkit.org via sheriffbot. + +* DEPS: + 2013-03-12 Adam Barth aba...@webkit.org [Chromium] Remove WEBKIT_USING_V8 from the WebKit API Modified: trunk/Source/WebKit/chromium/DEPS (145596 => 145597) --- trunk/Source/WebKit/chromium/DEPS 2013-03-12 22:21:28 UTC (rev 145596) +++ trunk/Source/WebKit/chromium/DEPS 2013-03-12 22:21:38 UTC (rev 145597) @@ -32,7 +32,7 @@ vars = { 'chromium_svn': 'http://src.chromium.org/svn/trunk/src', - 'chromium_rev': '187216' + 'chromium_rev': '187660' } deps = { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [145623] trunk/Source/Platform
Title: [145623] trunk/Source/Platform Revision 145623 Author aba...@webkit.org Date 2013-03-12 17:03:42 -0700 (Tue, 12 Mar 2013) Log Message [Chromium] Remove last vestigates of WEBKIT_USING_V8 https://bugs.webkit.org/show_bug.cgi?id=112203 Reviewed by James Robinson. These macros are no longer referenced anywhere and can be removed. * chromium/public/WebCommon.h: Modified Paths trunk/Source/Platform/ChangeLog trunk/Source/Platform/chromium/public/WebCommon.h Diff Modified: trunk/Source/Platform/ChangeLog (145622 => 145623) --- trunk/Source/Platform/ChangeLog 2013-03-13 00:03:23 UTC (rev 145622) +++ trunk/Source/Platform/ChangeLog 2013-03-13 00:03:42 UTC (rev 145623) @@ -1,3 +1,14 @@ +2013-03-12 Adam Barth aba...@webkit.org + +[Chromium] Remove last vestigates of WEBKIT_USING_V8 +https://bugs.webkit.org/show_bug.cgi?id=112203 + +Reviewed by James Robinson. + +These macros are no longer referenced anywhere and can be removed. + +* chromium/public/WebCommon.h: + 2013-03-12 James Robinson jam...@chromium.org [chromium] Remove unused WebIOSurfaceLayer type Modified: trunk/Source/Platform/chromium/public/WebCommon.h (145622 => 145623) --- trunk/Source/Platform/chromium/public/WebCommon.h 2013-03-13 00:03:23 UTC (rev 145622) +++ trunk/Source/Platform/chromium/public/WebCommon.h 2013-03-13 00:03:42 UTC (rev 145623) @@ -38,14 +38,6 @@ #define WEBKIT_IMPLEMENTATION 0 #endif -#if !defined(WEBKIT_USING_V8) -#define WEBKIT_USING_V8 1 -#endif - -#if !defined(WEBKIT_USING_JSC) -#define WEBKIT_USING_JSC 0 -#endif - // - // Exported symbols need to be annotated with WEBKIT_EXPORT ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [145651] trunk/Source/WebKit/chromium
Title: [145651] trunk/Source/WebKit/chromium Revision 145651 Author aba...@webkit.org Date 2013-03-12 18:19:05 -0700 (Tue, 12 Mar 2013) Log Message [Chromium] WebFrame event listener APIs are unused and can be removed https://bugs.webkit.org/show_bug.cgi?id=112189 Reviewed by Darin Fisher. As far as I can tell, there are no callers for these APIs. They appear to have been added for out-of-process postMessages, but those are now implemented using a different mechanism. * public/WebFrame.h: (WebFrame): * src/WebFrameImpl.cpp: * src/WebFrameImpl.h: (WebFrameImpl): Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/public/WebFrame.h trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp trunk/Source/WebKit/chromium/src/WebFrameImpl.h Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (145650 => 145651) --- trunk/Source/WebKit/chromium/ChangeLog 2013-03-13 01:17:02 UTC (rev 145650) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-03-13 01:19:05 UTC (rev 145651) @@ -1,3 +1,20 @@ +2013-03-12 Adam Barth aba...@webkit.org + +[Chromium] WebFrame event listener APIs are unused and can be removed +https://bugs.webkit.org/show_bug.cgi?id=112189 + +Reviewed by Darin Fisher. + +As far as I can tell, there are no callers for these APIs. They appear +to have been added for out-of-process postMessages, but those are now +implemented using a different mechanism. + +* public/WebFrame.h: +(WebFrame): +* src/WebFrameImpl.cpp: +* src/WebFrameImpl.h: +(WebFrameImpl): + 2013-03-12 Sheriff Bot webkit.review@gmail.com Unreviewed. Rolled Chromium DEPS to r187660. Requested by Modified: trunk/Source/WebKit/chromium/public/WebFrame.h (145650 => 145651) --- trunk/Source/WebKit/chromium/public/WebFrame.h 2013-03-13 01:17:02 UTC (rev 145650) +++ trunk/Source/WebKit/chromium/public/WebFrame.h 2013-03-13 01:19:05 UTC (rev 145651) @@ -603,15 +603,7 @@ // Events -- -// These functions all work on the WebFrame's DOMWindow. Keep in mind -// that these events might be generated by web content and not genuine -// DOM events. - -virtual void addEventListener(const WebString eventType, - WebDOMEventListener*, bool useCapture) = 0; -virtual void removeEventListener(const WebString eventType, - WebDOMEventListener*, bool useCapture) = 0; -virtual bool dispatchEvent(const WebDOMEvent) = 0; +// Dispatches a message event on the current DOMWindow in this WebFrame. virtual void dispatchMessageEventWithOriginCheck( const WebSecurityOrigin intendedTargetOrigin, const WebDOMEvent) = 0; Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp (145650 => 145651) --- trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp 2013-03-13 01:17:02 UTC (rev 145650) +++ trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp 2013-03-13 01:19:05 UTC (rev 145651) @@ -1848,26 +1848,6 @@ #endif } -void WebFrameImpl::addEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture) -{ -DOMWindow* window = frame()-document()-domWindow(); -EventListenerWrapper* listenerWrapper = listener-createEventListenerWrapper(eventType, useCapture, window); -window-addEventListener(eventType, adoptRef(listenerWrapper), useCapture); -} - -void WebFrameImpl::removeEventListener(const WebString eventType, WebDOMEventListener* listener, bool useCapture) -{ -DOMWindow* window = frame()-document()-domWindow(); -EventListenerWrapper* listenerWrapper = listener-getEventListenerWrapper(eventType, useCapture, window); -window-removeEventListener(eventType, listenerWrapper, useCapture); -} - -bool WebFrameImpl::dispatchEvent(const WebDOMEvent event) -{ -ASSERT(!event.isNull()); -return frame()-document()-domWindow()-dispatchEvent(event); -} - void WebFrameImpl::dispatchMessageEventWithOriginCheck(const WebSecurityOrigin intendedTargetOrigin, const WebDOMEvent event) { ASSERT(!event.isNull()); Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.h (145650 => 145651) --- trunk/Source/WebKit/chromium/src/WebFrameImpl.h 2013-03-13 01:17:02 UTC (rev 145650) +++ trunk/Source/WebKit/chromium/src/WebFrameImpl.h 2013-03-13 01:19:05 UTC (rev 145651) @@ -219,11 +219,6 @@ virtual void sendOrientationChangeEvent(int orientation); -virtual void addEventListener(const WebString eventType, - WebDOMEventListener*, bool useCapture); -virtual void removeEventListener(const WebString eventType, - WebDOMEventListener*, bool useCapture); -virtual bool dispatchEvent(const WebDOMEvent); virtual void dispatchMessageEventWithOriginCheck( const WebSecurityOrigin intendedTargetOrigin, const
[webkit-changes] [145398] trunk/Source/WebCore
Title: [145398] trunk/Source/WebCore Revision 145398 Author aba...@webkit.org Date 2013-03-11 13:53:47 -0700 (Mon, 11 Mar 2013) Log Message Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser https://bugs.webkit.org/show_bug.cgi?id=112057 Reviewed by Eric Seidel. Simulating the HTML tree builder is a separate concern from parsing on the background thread. We plan to re-use the tree builder simulator for the view-source parser, for example. Also, having the simulator as a separate object will make it easier to fix https://bugs.webkit.org/show_bug.cgi?id=109764. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * html/parser/BackgroundHTMLParser.cpp: (WebCore): (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::pumpTokenizer): * html/parser/BackgroundHTMLParser.h: (BackgroundHTMLParser): Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/GNUmakefile.list.am trunk/Source/WebCore/Target.pri trunk/Source/WebCore/WebCore.gypi trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h Added Paths trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h Diff Modified: trunk/Source/WebCore/CMakeLists.txt (145397 => 145398) --- trunk/Source/WebCore/CMakeLists.txt 2013-03-11 20:43:43 UTC (rev 145397) +++ trunk/Source/WebCore/CMakeLists.txt 2013-03-11 20:53:47 UTC (rev 145398) @@ -1562,6 +1562,7 @@ html/parser/HTMLSourceTracker.cpp html/parser/HTMLTokenizer.cpp html/parser/HTMLTreeBuilder.cpp +html/parser/HTMLTreeBuilderSimulator.cpp html/parser/HTMLViewSourceParser.cpp html/parser/TextDocumentParser.cpp html/parser/TextViewSourceParser.cpp Modified: trunk/Source/WebCore/ChangeLog (145397 => 145398) --- trunk/Source/WebCore/ChangeLog 2013-03-11 20:43:43 UTC (rev 145397) +++ trunk/Source/WebCore/ChangeLog 2013-03-11 20:53:47 UTC (rev 145398) @@ -1,3 +1,28 @@ +2013-03-11 Adam Barth aba...@webkit.org + +Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser +https://bugs.webkit.org/show_bug.cgi?id=112057 + +Reviewed by Eric Seidel. + +Simulating the HTML tree builder is a separate concern from parsing on +the background thread. We plan to re-use the tree builder simulator for +the view-source parser, for example. Also, having the simulator as a +separate object will make it easier to fix +https://bugs.webkit.org/show_bug.cgi?id=109764. + +* CMakeLists.txt: +* GNUmakefile.list.am: +* Target.pri: +* WebCore.gypi: +* WebCore.vcproj/WebCore.vcproj: +* html/parser/BackgroundHTMLParser.cpp: +(WebCore): +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +* html/parser/BackgroundHTMLParser.h: +(BackgroundHTMLParser): + 2013-02-26 Dima Gorbik dgor...@apple.com Not all properties apply to the '::cue' pseudo-element Modified: trunk/Source/WebCore/GNUmakefile.list.am (145397 => 145398) --- trunk/Source/WebCore/GNUmakefile.list.am 2013-03-11 20:43:43 UTC (rev 145397) +++ trunk/Source/WebCore/GNUmakefile.list.am 2013-03-11 20:53:47 UTC (rev 145398) @@ -3644,6 +3644,8 @@ Source/WebCore/html/parser/HTMLTokenizer.h \ Source/WebCore/html/parser/HTMLTreeBuilder.cpp \ Source/WebCore/html/parser/HTMLTreeBuilder.h \ + Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp \ + Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h \ Source/WebCore/html/parser/HTMLViewSourceParser.cpp \ Source/WebCore/html/parser/HTMLViewSourceParser.h \ Source/WebCore/html/parser/InputStreamPreprocessor.h \ Modified: trunk/Source/WebCore/Target.pri (145397 => 145398) --- trunk/Source/WebCore/Target.pri 2013-03-11 20:43:43 UTC (rev 145397) +++ trunk/Source/WebCore/Target.pri 2013-03-11 20:53:47 UTC (rev 145398) @@ -747,6 +747,7 @@ html/parser/HTMLSourceTracker.cpp \ html/parser/HTMLTokenizer.cpp \ html/parser/HTMLTreeBuilder.cpp \ +html/parser/HTMLTreeBuilderSimulator.cpp \ html/parser/HTMLViewSourceParser.cpp \ html/parser/TextDocumentParser.cpp \ html/parser/TextViewSourceParser.cpp \ Modified: trunk/Source/WebCore/WebCore.gypi (145397 => 145398) --- trunk/Source/WebCore/WebCore.gypi 2013-03-11 20:43:43 UTC (rev 145397) +++ trunk/Source/WebCore/WebCore.gypi 2013-03-11 20:53:47 UTC (rev 145398) @@ -3532,6 +3532,8 @@ 'html/parser/HTMLTokenizer.h', 'html/parser/HTMLTreeBuilder.cpp', 'html/parser/HTMLTreeBuilder.h', +'html/parser/HTMLTreeBuilderSimulator.cpp', +'html/parser/HTMLTreeBuilderSimulator.h',
[webkit-changes] [145425] trunk/Source/WebCore
Title: [145425] trunk/Source/WebCore Revision 145425 Author aba...@webkit.org Date 2013-03-11 16:25:41 -0700 (Mon, 11 Mar 2013) Log Message Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421. * html/HTMLPlugInImageElement.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (145424 => 145425) --- trunk/Source/WebCore/ChangeLog 2013-03-11 23:20:56 UTC (rev 145424) +++ trunk/Source/WebCore/ChangeLog 2013-03-11 23:25:41 UTC (rev 145425) @@ -1,3 +1,9 @@ +2013-03-11 Adam Barth aba...@webkit.org + +Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421. + +* html/HTMLPlugInImageElement.cpp: + 2013-03-05 Ojan Vafai o...@chromium.org Intrinsic width keyword values don't work for tables Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (145424 => 145425) --- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2013-03-11 23:20:56 UTC (rev 145424) +++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2013-03-11 23:25:41 UTC (rev 145425) @@ -48,6 +48,7 @@ #include ShadowRoot.h #include StyleResolver.h #include Text.h +#include wtf/CurrentTime.h namespace WebCore { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144714] trunk
Title: [144714] trunk Revision 144714 Author aba...@webkit.org Date 2013-03-04 20:57:15 -0800 (Mon, 04 Mar 2013) Log Message Background HTML parser can rewind the tokenizer after end-of-file https://bugs.webkit.org/show_bug.cgi?id=111365 Reviewed by Eric Seidel. Source/WebCore: Prior to this patch, it was possible to call didFailSpeculation after processing the end-of-file token because checkForSpeculationFailure didn't zero out m_tokenizer in some control paths. This patch renames checkForSpeculationFailure to validateSpeculations and ensures that it always takes ownership of the main thread's HTMLTokenizer. This patch also adds a number of ASSERTs to make sure the parser state machine stays in the correct configuration (e.g., that we don't have a main thread tokenizer while we're supposed to be tokenizing on the background thread). Test: fast/parser/document-write-fighting-eof.html * html/parser/BackgroundHTMLInputStream.cpp: (WebCore::BackgroundHTMLInputStream::rewindTo): * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::append): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::validateSpeculations): (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::pumpPendingSpeculations): (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): LayoutTests: * fast/parser/document-write-fighting-eof.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Added Paths trunk/LayoutTests/fast/parser/document-write-fighting-eof-expected.txt trunk/LayoutTests/fast/parser/document-write-fighting-eof.html Diff Modified: trunk/LayoutTests/ChangeLog (144713 => 144714) --- trunk/LayoutTests/ChangeLog 2013-03-05 04:37:32 UTC (rev 144713) +++ trunk/LayoutTests/ChangeLog 2013-03-05 04:57:15 UTC (rev 144714) @@ -1,3 +1,12 @@ +2013-03-04 Adam Barth aba...@webkit.org + +Background HTML parser can rewind the tokenizer after end-of-file +https://bugs.webkit.org/show_bug.cgi?id=111365 + +Reviewed by Eric Seidel. + +* fast/parser/document-write-fighting-eof.html: Added. + 2013-03-04 Tim 'mithro' Ansell mit...@mithis.com Make sure that clearOwnerNode also clears StyleResolver references (via didMutate). Added: trunk/LayoutTests/fast/parser/document-write-fighting-eof-expected.txt (0 => 144714) --- trunk/LayoutTests/fast/parser/document-write-fighting-eof-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-fighting-eof-expected.txt 2013-03-05 04:57:15 UTC (rev 144714) @@ -0,0 +1 @@ +PASS Added: trunk/LayoutTests/fast/parser/document-write-fighting-eof.html (0 => 144714) --- trunk/LayoutTests/fast/parser/document-write-fighting-eof.html (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-fighting-eof.html 2013-03-05 04:57:15 UTC (rev 144714) @@ -0,0 +1,6 @@ +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +PAscript _onbeforeload_=document.write('span') src="" +SS Modified: trunk/Source/WebCore/ChangeLog (144713 => 144714) --- trunk/Source/WebCore/ChangeLog 2013-03-05 04:37:32 UTC (rev 144713) +++ trunk/Source/WebCore/ChangeLog 2013-03-05 04:57:15 UTC (rev 144714) @@ -1,3 +1,37 @@ +2013-03-04 Adam Barth aba...@webkit.org + +Background HTML parser can rewind the tokenizer after end-of-file +https://bugs.webkit.org/show_bug.cgi?id=111365 + +Reviewed by Eric Seidel. + +Prior to this patch, it was possible to call didFailSpeculation after +processing the end-of-file token because checkForSpeculationFailure +didn't zero out m_tokenizer in some control paths. + +This patch renames checkForSpeculationFailure to validateSpeculations +and ensures that it always takes ownership of the main thread's +HTMLTokenizer. + +This patch also adds a number of ASSERTs to make sure the parser state +machine stays in the correct configuration (e.g., that we don't have a +main thread tokenizer while we're supposed to be tokenizing on the +background thread). + +Test: fast/parser/document-write-fighting-eof.html + +* html/parser/BackgroundHTMLInputStream.cpp: +(WebCore::BackgroundHTMLInputStream::rewindTo): +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::append): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::validateSpeculations): +(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): +
[webkit-changes] [144561] trunk/Source/WebCore
Title: [144561] trunk/Source/WebCore Revision 144561 Author aba...@webkit.org Date 2013-03-03 00:33:44 -0800 (Sun, 03 Mar 2013) Log Message REGRESSION(144520): Does not compile on chromium-win https://bugs.webkit.org/show_bug.cgi?id=111261 Unreviewed rollout of http://trac.webkit.org/changeset/144520. This patch does not compile for chromium-win. See the bug for the compile error. * rendering/ExclusionShapeInsideInfo.cpp: * rendering/ExclusionShapeInsideInfo.h: (WebCore): (LineSegmentRange): (WebCore::LineSegmentRange::LineSegmentRange): (WebCore::ExclusionShapeInsideInfo::isEnabledFor): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::willBeDestroyed): (WebCore::RenderBlock::exclusionShapeInsideInfo): (WebCore): (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): * rendering/RenderBlock.h: (WebCore): (RenderBlock): (RenderBlockRareData): * rendering/RenderBlockLineLayout.cpp: (WebCore::constructBidiRunsForLine): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.h trunk/Source/WebCore/rendering/RenderBlock.cpp trunk/Source/WebCore/rendering/RenderBlock.h trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144560 => 144561) --- trunk/Source/WebCore/ChangeLog 2013-03-03 07:31:07 UTC (rev 144560) +++ trunk/Source/WebCore/ChangeLog 2013-03-03 08:33:44 UTC (rev 144561) @@ -1,3 +1,30 @@ +2013-03-03 Adam Barth aba...@webkit.org + +REGRESSION(144520): Does not compile on chromium-win +https://bugs.webkit.org/show_bug.cgi?id=111261 + +Unreviewed rollout of http://trac.webkit.org/changeset/144520. This +patch does not compile for chromium-win. See the bug for the compile +error. + +* rendering/ExclusionShapeInsideInfo.cpp: +* rendering/ExclusionShapeInsideInfo.h: +(WebCore): +(LineSegmentRange): +(WebCore::LineSegmentRange::LineSegmentRange): +(WebCore::ExclusionShapeInsideInfo::isEnabledFor): +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::willBeDestroyed): +(WebCore::RenderBlock::exclusionShapeInsideInfo): +(WebCore): +(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): +* rendering/RenderBlock.h: +(WebCore): +(RenderBlock): +(RenderBlockRareData): +* rendering/RenderBlockLineLayout.cpp: +(WebCore::constructBidiRunsForLine): + 2013-03-02 Zan Dobersek zdober...@igalia.com REGRESSION (r144517): IndexedDB layout test failures on GTK Modified: trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp (144560 => 144561) --- trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp 2013-03-03 07:31:07 UTC (rev 144560) +++ trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp 2013-03-03 08:33:44 UTC (rev 144561) @@ -32,23 +32,9 @@ #if ENABLE(CSS_EXCLUSIONS) -#include InlineIterator.h #include RenderBlock.h namespace WebCore { - -LineSegmentRange::LineSegmentRange(const InlineIterator start, const InlineIterator end) -: start(start.root(), start.object(), start.offset()) -, end(end.root(), end.object(), end.offset()) -{ -} - -bool ExclusionShapeInsideInfo::isEnabledFor(const RenderBlock* renderer) -{ -ExclusionShapeValue* shapeValue = renderer-style()-resolvedShapeInside(); -return (shapeValue shapeValue-type() == ExclusionShapeValue::SHAPE) ? shapeValue-shape() : 0; -} - bool ExclusionShapeInsideInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) { ASSERT(lineHeight = 0); Modified: trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.h (144560 => 144561) --- trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.h 2013-03-03 07:31:07 UTC (rev 144560) +++ trunk/Source/WebCore/rendering/ExclusionShapeInsideInfo.h 2013-03-03 08:33:44 UTC (rev 144561) @@ -33,40 +33,34 @@ #if ENABLE(CSS_EXCLUSIONS) #include ExclusionShapeInfo.h +#include InlineIterator.h #include wtf/PassOwnPtr.h #include wtf/Vector.h namespace WebCore { -class InlineIterator; class RenderBlock; -class RenderObject; -struct LineSegmentIterator { -RenderObject* root; -RenderObject* object; -unsigned offset; -LineSegmentIterator(RenderObject* root, RenderObject* object, unsigned offset) -: root(root) -, object(object) -, offset(offset) +struct LineSegmentRange { +InlineIterator start; +InlineIterator end; +LineSegmentRange(InlineIterator start, InlineIterator end) +: start(start) +, end(end) { } }; - -struct LineSegmentRange { -LineSegmentIterator start; -LineSegmentIterator end; -LineSegmentRange(const InlineIterator start, const InlineIterator end); -}; - typedef VectorLineSegmentRange SegmentRangeList; -class ExclusionShapeInsideInfo : public
[webkit-changes] [144578] trunk/Source/WebCore
Title: [144578] trunk/Source/WebCore Revision 144578 Author aba...@webkit.org Date 2013-03-03 11:57:39 -0800 (Sun, 03 Mar 2013) Log Message Attempt to fix the Qt build after r144498 https://bugs.webkit.org/show_bug.cgi?id=111272 Reviewed by Eric Seidel. Update the Qt version of the XML parser to call the new API. * xml/parser/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::resumeParsing): (WebCore::XMLDocumentParser::appendFragmentSource): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144577 => 144578) --- trunk/Source/WebCore/ChangeLog 2013-03-03 19:36:33 UTC (rev 144577) +++ trunk/Source/WebCore/ChangeLog 2013-03-03 19:57:39 UTC (rev 144578) @@ -1,3 +1,16 @@ +2013-03-03 Adam Barth aba...@webkit.org + +Attempt to fix the Qt build after r144498 +https://bugs.webkit.org/show_bug.cgi?id=111272 + +Reviewed by Eric Seidel. + +Update the Qt version of the XML parser to call the new API. + +* xml/parser/XMLDocumentParserQt.cpp: +(WebCore::XMLDocumentParser::resumeParsing): +(WebCore::XMLDocumentParser::appendFragmentSource): + 2013-03-03 Dean Jackson d...@apple.com Plug-ins that are appropriately large w.r.t page size should autostart Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp (144577 => 144578) --- trunk/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp 2013-03-03 19:36:33 UTC (rev 144577) +++ trunk/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp 2013-03-03 19:57:39 UTC (rev 144578) @@ -262,7 +262,7 @@ // Then, write any pending data SegmentedString rest = m_pendingSrc; m_pendingSrc.clear(); -append(rest); +append(rest.toString().impl()); // Finally, if finish() has been called and append() didn't result // in any further callbacks being queued, call end() @@ -273,9 +273,9 @@ bool XMLDocumentParser::appendFragmentSource(const String source) { ASSERT(!m_sawFirstElement); -append(String(qxmlstreamdummyelement)); -append(source); -append(String(/qxmlstreamdummyelement)); +append(String(qxmlstreamdummyelement).impl()); +append(source.impl()); +append(String(/qxmlstreamdummyelement).impl()); return !hasError(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144549] trunk/Source/WebCore
Title: [144549] trunk/Source/WebCore Revision 144549 Author aba...@webkit.org Date 2013-03-02 17:45:58 -0800 (Sat, 02 Mar 2013) Log Message XSSAuditor has a subtle race condition when used with the threaded HTML parser https://bugs.webkit.org/show_bug.cgi?id=111253 Reviewed by Eric Seidel. We were refing and derefing a StringImpl for a main-thread AtomicString. Using QualifiedNames on the background thread is very fragile and we should figure out a more robust solution. * html/parser/XSSAuditor.cpp: (WebCore::findAttributeWithName): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/XSSAuditor.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144548 => 144549) --- trunk/Source/WebCore/ChangeLog 2013-03-03 00:57:26 UTC (rev 144548) +++ trunk/Source/WebCore/ChangeLog 2013-03-03 01:45:58 UTC (rev 144549) @@ -1,3 +1,17 @@ +2013-03-02 Adam Barth aba...@webkit.org + +XSSAuditor has a subtle race condition when used with the threaded HTML parser +https://bugs.webkit.org/show_bug.cgi?id=111253 + +Reviewed by Eric Seidel. + +We were refing and derefing a StringImpl for a main-thread +AtomicString. Using QualifiedNames on the background thread is very +fragile and we should figure out a more robust solution. + +* html/parser/XSSAuditor.cpp: +(WebCore::findAttributeWithName): + 2013-03-02 Benjamin Poulain bpoul...@apple.com Move computedStyleIncludingVisitedInfo from TestRunner to Internals Modified: trunk/Source/WebCore/html/parser/XSSAuditor.cpp (144548 => 144549) --- trunk/Source/WebCore/html/parser/XSSAuditor.cpp 2013-03-03 00:57:26 UTC (rev 144548) +++ trunk/Source/WebCore/html/parser/XSSAuditor.cpp 2013-03-03 01:45:58 UTC (rev 144549) @@ -127,11 +127,9 @@ static bool findAttributeWithName(const HTMLToken token, const QualifiedName name, size_t indexOfMatchingAttribute) { -String attrName = name.localName().string(); +// Notice that we're careful not to ref the StringImpl here because we might be on a background thread. +const String attrName = name.namespaceURI() == XLinkNames::xlinkNamespaceURI ? xlink: + name.localName().string() : name.localName().string(); -if (name.namespaceURI() == XLinkNames::xlinkNamespaceURI) -attrName = xlink: + attrName; - for (size_t i = 0; i token.attributes().size(); ++i) { if (equalIgnoringNullity(token.attributes().at(i).name, attrName)) { indexOfMatchingAttribute = i; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144268] trunk/LayoutTests
Title: [144268] trunk/LayoutTests Revision 144268 Author aba...@webkit.org Date 2013-02-28 00:07:26 -0800 (Thu, 28 Feb 2013) Log Message Unreviewed. The version of this file I landed in http://trac.webkit.org/changeset/144262 appears to have been ever-so-slightly incorrect. * platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (144267 => 144268) --- trunk/LayoutTests/ChangeLog 2013-02-28 07:57:29 UTC (rev 144267) +++ trunk/LayoutTests/ChangeLog 2013-02-28 08:07:26 UTC (rev 144268) @@ -1,3 +1,13 @@ +2013-02-28 Adam Barth aba...@webkit.org + +Unreviewed. + +The version of this file I landed in +http://trac.webkit.org/changeset/144262 appears to have been +ever-so-slightly incorrect. + +* platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt: + 2013-02-27 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r144224. Modified: trunk/LayoutTests/platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt (144267 => 144268) --- trunk/LayoutTests/platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt 2013-02-28 07:57:29 UTC (rev 144267) +++ trunk/LayoutTests/platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt 2013-02-28 08:07:26 UTC (rev 144268) @@ -32,5 +32,6 @@ FunctionCall MarkLoad Layout + Layout MarkDOMContent ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144269] trunk/LayoutTests
Title: [144269] trunk/LayoutTests Revision 144269 Author aba...@webkit.org Date 2013-02-28 00:18:52 -0800 (Thu, 28 Feb 2013) Log Message Apparently Failure does not include ImageOnlyFailure. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144268 => 144269) --- trunk/LayoutTests/ChangeLog 2013-02-28 08:07:26 UTC (rev 144268) +++ trunk/LayoutTests/ChangeLog 2013-02-28 08:18:52 UTC (rev 144269) @@ -1,5 +1,11 @@ 2013-02-28 Adam Barth aba...@webkit.org +Apparently Failure does not include ImageOnlyFailure. + +* platform/chromium/TestExpectations: + +2013-02-28 Adam Barth aba...@webkit.org + Unreviewed. The version of this file I landed in Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144268 => 144269) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 08:07:26 UTC (rev 144268) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 08:18:52 UTC (rev 144269) @@ -4436,14 +4436,14 @@ webkit.org/b/110851 platform/chromium/virtual/softwarecompositing/repaint/page-scale-repaint.html [ ImageOnlyFailure ] # Impl-side scrolling is broken for RTL. Causing impl-side scrollbar artifacts. -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ] # Need rebaseline webkit.org/b/110654 [ Mac Win ] css2.1/20110323/replaced-elements-001.htm [ Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144272] trunk/LayoutTests
Title: [144272] trunk/LayoutTests Revision 144272 Author aba...@webkit.org Date 2013-02-28 01:12:00 -0800 (Thu, 28 Feb 2013) Log Message A couple more tweaks to TestExpectations after the threaded parser. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144271 => 144272) --- trunk/LayoutTests/ChangeLog 2013-02-28 08:56:02 UTC (rev 144271) +++ trunk/LayoutTests/ChangeLog 2013-02-28 09:12:00 UTC (rev 144272) @@ -1,3 +1,9 @@ +2013-02-28 Adam Barth aba...@webkit.org + +A couple more tweaks to TestExpectations after the threaded parser. + +* platform/chromium/TestExpectations: + 2013-02-28 Kent Tamura tk...@chromium.org Unreviewed, rolling out r144184. Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144271 => 144272) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 08:56:02 UTC (rev 144271) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 09:12:00 UTC (rev 144272) @@ -3028,9 +3028,11 @@ webkit.org/b/110929 http/tests/multipart/policy-ignore-crash.php [ Missing Failure ] webkit.org/b/110929 http/tests/multipart/multipart-html.php [ Missing Failure ] webkit.org/b/111023 fast/loader/unload-hyperlink-targeted.html [ Timeout ] +webkit.org/b/111023 fast/dom/Window/Location/set-location-after-close.html [ Timeout ] webkit.org/b/111043 [ Debug ] fast/encoding/script-in-head.html [ Pass Timeout ] webkit.org/b/111044 fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] webkit.org/b/111044 fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] +webkit.org/b/110907 inspector/timeline/timeline-script-tag-1.html [ Pass Failure ] webkit.org/b/70988 [ Mac Win Debug ] fast/forms/submit-to-blank-multiple-times.html [ Failure Pass ] webkit.org/b/70988 [ Mac Debug ] fast/overflow/003.xml [ Failure Pass ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144331] trunk/LayoutTests
Title: [144331] trunk/LayoutTests Revision 144331 Author aba...@webkit.org Date 2013-02-28 11:06:02 -0800 (Thu, 28 Feb 2013) Log Message This timeout also happens in Release. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144330 => 144331) --- trunk/LayoutTests/ChangeLog 2013-02-28 19:04:08 UTC (rev 144330) +++ trunk/LayoutTests/ChangeLog 2013-02-28 19:06:02 UTC (rev 144331) @@ -1,3 +1,9 @@ +2013-02-28 Adam Barth aba...@webkit.org + +This timeout also happens in Release. + +* platform/chromium/TestExpectations: + 2013-02-28 Stephen Chenney schen...@chromium.org [Chromium] Marking one more html5 test as timeout Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144330 => 144331) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 19:04:08 UTC (rev 144330) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 19:06:02 UTC (rev 144331) @@ -3017,7 +3017,7 @@ webkit.org/b/110929 http/tests/multipart/multipart-html.php [ Missing Failure ] webkit.org/b/111023 fast/loader/unload-hyperlink-targeted.html [ Timeout ] webkit.org/b/111023 fast/dom/Window/Location/set-location-after-close.html [ Timeout ] -webkit.org/b/111043 [ Debug ] fast/encoding/script-in-head.html [ Pass Timeout ] +webkit.org/b/111043 fast/encoding/script-in-head.html [ Pass Timeout ] webkit.org/b/111044 fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] webkit.org/b/111044 fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] webkit.org/b/110907 inspector/timeline/timeline-script-tag-1.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144343] trunk/LayoutTests
Title: [144343] trunk/LayoutTests Revision 144343 Author aba...@webkit.org Date 2013-02-28 11:55:23 -0800 (Thu, 28 Feb 2013) Log Message Remove these supressions now that we've reverted http://trac.webkit.org/changeset/144126. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144342 => 144343) --- trunk/LayoutTests/ChangeLog 2013-02-28 19:48:03 UTC (rev 144342) +++ trunk/LayoutTests/ChangeLog 2013-02-28 19:55:23 UTC (rev 144343) @@ -1,3 +1,9 @@ +2013-02-28 Adam Barth aba...@webkit.org + +Remove these supressions now that we've reverted http://trac.webkit.org/changeset/144126. + +* platform/chromium/TestExpectations: + 2013-02-28 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r144126 and r144176. Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144342 => 144343) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 19:48:03 UTC (rev 144342) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 19:55:23 UTC (rev 144343) @@ -3214,10 +3214,7 @@ webkit.org/b/81697 fast/notifications/notifications-check-permission.html [ Failure ] webkit.org/b/81697 fast/notifications/notifications-without-permission.html [ Failure ] -# webkit.org/b/81697 fast/notifications/notifications-request-permission.html [ Failure ] -# Failing since r144126, please uncomment the line above before removing these. -webkit.org/b/110956 fast/notifications/notifications-request-permission.html [ Pass Crash Failure ] -webkit.org/b/110956 fast/notifications/notifications-request-permission-optional.html [ Pass Crash ] +webkit.org/b/81697 fast/notifications/notifications-request-permission.html [ Failure ] webkit.org/b/81732 fast/js/integer-division-neg2tothe32-by-neg1.html [ Crash Pass ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144407] trunk/Source/WebCore
Title: [144407] trunk/Source/WebCore Revision 144407 Author aba...@webkit.org Date 2013-02-28 18:12:54 -0800 (Thu, 28 Feb 2013) Log Message The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write https://bugs.webkit.org/show_bug.cgi?id=30 Reviewed by Eric Seidel. Previously, the threaded HTML parser always invalidated its speculation buffer when it received a document.write. That means we performed poorly on web sites that contained document.write calls early in the page. This patch teaches the HTMLDocumentParser that we don't need to discard the speculation buffer in the common case of starting and ending in the DataState. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::sendTokensToMainThread): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::checkForSpeculationFailure): (WebCore::HTMLDocumentParser::didFailSpeculation): * html/parser/HTMLDocumentParser.h: (WebCore): (ParsedChunk): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (144406 => 144407) --- trunk/Source/WebCore/ChangeLog 2013-03-01 02:11:42 UTC (rev 144406) +++ trunk/Source/WebCore/ChangeLog 2013-03-01 02:12:54 UTC (rev 144407) @@ -1,3 +1,28 @@ +2013-02-28 Adam Barth aba...@webkit.org + +The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write +https://bugs.webkit.org/show_bug.cgi?id=30 + +Reviewed by Eric Seidel. + +Previously, the threaded HTML parser always invalidated its speculation +buffer when it received a document.write. That means we performed +poorly on web sites that contained document.write calls early in the +page. + +This patch teaches the HTMLDocumentParser that we don't need to discard +the speculation buffer in the common case of starting and ending in the +DataState. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::checkForSpeculationFailure): +(WebCore::HTMLDocumentParser::didFailSpeculation): +* html/parser/HTMLDocumentParser.h: +(WebCore): +(ParsedChunk): + 2013-02-28 Eberhard Graether egraet...@google.com WebInspector: Switch hide element shortcut in ElementsPanel to use a selector Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (144406 => 144407) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-03-01 02:11:42 UTC (rev 144406) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-03-01 02:12:54 UTC (rev 144407) @@ -279,6 +279,7 @@ OwnPtrHTMLDocumentParser::ParsedChunk chunk = adoptPtr(new HTMLDocumentParser::ParsedChunk); chunk-tokens = m_pendingTokens.release(); chunk-preloads.swap(m_pendingPreloads); +chunk-tokenizerState = m_tokenizer-state(); chunk-inputCheckpoint = m_input.createCheckpoint(); chunk-preloadScannerCheckpoint = m_preloadScanner-createCheckpoint(); callOnMainThread(bind(HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser, m_parser, chunk.release())); Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (144406 => 144407) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-03-01 02:11:42 UTC (rev 144406) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-03-01 02:12:54 UTC (rev 144407) @@ -332,16 +332,24 @@ { if (!m_tokenizer) return; -// FIXME: If the tokenizer is in the same state as when we started this function, -// then we haven't necessarily failed our speculation. +if (!m_currentChunk) +return; +// Currently we're only smart enough to reuse the speculation buffer if the tokenizer +// both starts and ends in the DataState. That state is simplest because the HTMLToken +// is always in the Uninitialized state. We should consider whether we can reuse the +// speculation buffer in other states, but we'd likely need to do something more +// sophisticated with the HTMLToken. +if (m_currentChunk-tokenizerState == HTMLTokenizer::DataState m_tokenizer-state() == HTMLTokenizer::DataState m_input.current().isEmpty()) { +ASSERT(m_token-isUninitialized()); +m_tokenizer.clear(); +m_token.clear(); +return; +} didFailSpeculation(m_token.release(), m_tokenizer.release()); } void HTMLDocumentParser::didFailSpeculation(PassOwnPtrHTMLToken token, PassOwnPtrHTMLTokenizer tokenizer) { -if (!m_currentChunk) -return; - m_weakFactory.revokeAll(); m_speculations.clear(); Modified:
[webkit-changes] [144158] trunk/Source/WebCore
Title: [144158] trunk/Source/WebCore Revision 144158 Author aba...@webkit.org Date 2013-02-27 01:21:56 -0800 (Wed, 27 Feb 2013) Log Message HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser can trigger ASSERT(m_speculations.isEmpty()) https://bugs.webkit.org/show_bug.cgi?id=110949 Reviewed by Eric Seidel. We can hit this ASSERT if didReceiveParsedChunkFromBackgroundParser is called from the background thread while we're processing m_speculations (i.e., if processing m_speculations is taking a while and we've yielded to the event loop). It's hard to write a deterministic test for this patch, but it's hit quite often with existing LayoutTests. * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144157 => 144158) --- trunk/Source/WebCore/ChangeLog 2013-02-27 09:09:20 UTC (rev 144157) +++ trunk/Source/WebCore/ChangeLog 2013-02-27 09:21:56 UTC (rev 144158) @@ -1,3 +1,21 @@ +2013-02-27 Adam Barth aba...@webkit.org + +HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser can trigger ASSERT(m_speculations.isEmpty()) +https://bugs.webkit.org/show_bug.cgi?id=110949 + +Reviewed by Eric Seidel. + +We can hit this ASSERT if didReceiveParsedChunkFromBackgroundParser is +called from the background thread while we're processing +m_speculations (i.e., if processing m_speculations is taking a while +and we've yielded to the event loop). + +It's hard to write a deterministic test for this patch, but it's hit +quite often with existing LayoutTests. + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): + 2013-02-27 Kentaro Hara hara...@chromium.org [V8] Generate a wrapper function for named constructor callbacks Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (144157 => 144158) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-27 09:09:20 UTC (rev 144157) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-27 09:21:56 UTC (rev 144158) @@ -308,7 +308,7 @@ void HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser(PassOwnPtrParsedChunk chunk) { -if (isWaitingForScripts()) { +if (isWaitingForScripts() || !m_speculations.isEmpty()) { m_preloader-takeAndPreload(chunk-preloads); m_speculations.append(chunk); return; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144232] trunk/Source/WebCore
Title: [144232] trunk/Source/WebCore Revision 144232 Author aba...@webkit.org Date 2013-02-27 13:23:05 -0800 (Wed, 27 Feb 2013) Log Message Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()-activeDocumentLoader() https://bugs.webkit.org/show_bug.cgi?id=110937 Reviewed by Darin Adler. This patch restores the ASSERT behind an ifdef so that we can continue to get converage from the ASSERT while we investigate why it is triggering in the threaded parser. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::checkLoadComplete): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/DocumentLoader.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144231 => 144232) --- trunk/Source/WebCore/ChangeLog 2013-02-27 21:20:38 UTC (rev 144231) +++ trunk/Source/WebCore/ChangeLog 2013-02-27 21:23:05 UTC (rev 144232) @@ -1,3 +1,17 @@ +2013-02-27 Adam Barth aba...@webkit.org + +Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()-activeDocumentLoader() +https://bugs.webkit.org/show_bug.cgi?id=110937 + +Reviewed by Darin Adler. + +This patch restores the ASSERT behind an ifdef so that we can continue +to get converage from the ASSERT while we investigate why it is +triggering in the threaded parser. + +* loader/DocumentLoader.cpp: +(WebCore::DocumentLoader::checkLoadComplete): + 2013-02-27 Lianghui Chen liac...@rim.com [BlackBerry] User credentials is not correctly handled Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (144231 => 144232) --- trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 21:20:38 UTC (rev 144231) +++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 21:23:05 UTC (rev 144232) @@ -431,6 +431,11 @@ { if (!m_frame || isLoading()) return; +#if !ENABLE(THREADED_HTML_PARSER) +// This ASSERT triggers with the threaded HTML parser. +// See https://bugs.webkit.org/show_bug.cgi?id=110937 +ASSERT(this == frameLoader()-activeDocumentLoader()); +#endif m_frame-document()-domWindow()-finishedLoading(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144240] trunk/Source/WebCore
Title: [144240] trunk/Source/WebCore Revision 144240 Author aba...@webkit.org Date 2013-02-27 14:39:19 -0800 (Wed, 27 Feb 2013) Log Message Threaded HTML Parser fails fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html in debug https://bugs.webkit.org/show_bug.cgi?id=110951 Reviewed by Eric Seidel. We were triggering this ASSERT because we didn't understand that a given frame might have multiple DocumentLoaders in various states. That caused us to think that a DocumentLoader in the provisional state was actually loading. * dom/Document.cpp: (WebCore::Document::decrementActiveParserCount): * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoading): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/DocumentLoader.cpp trunk/Source/WebCore/loader/DocumentLoader.h Diff Modified: trunk/Source/WebCore/ChangeLog (144239 => 144240) --- trunk/Source/WebCore/ChangeLog 2013-02-27 22:24:23 UTC (rev 144239) +++ trunk/Source/WebCore/ChangeLog 2013-02-27 22:39:19 UTC (rev 144240) @@ -1,3 +1,20 @@ +2013-02-27 Adam Barth aba...@webkit.org + +Threaded HTML Parser fails fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html in debug +https://bugs.webkit.org/show_bug.cgi?id=110951 + +Reviewed by Eric Seidel. + +We were triggering this ASSERT because we didn't understand that a +given frame might have multiple DocumentLoaders in various states. That +caused us to think that a DocumentLoader in the provisional state was +actually loading. + +* dom/Document.cpp: +(WebCore::Document::decrementActiveParserCount): +* loader/DocumentLoader.cpp: +(WebCore::DocumentLoader::isLoading): + 2013-02-27 Chris Fleizach cfleiz...@apple.com AX: Mac platform should support ability to scroll an element into visible Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (144239 => 144240) --- trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 22:24:23 UTC (rev 144239) +++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 22:39:19 UTC (rev 144240) @@ -133,6 +133,13 @@ return 0; } +Document* DocumentLoader::document() const +{ +if (m_frame m_frame-loader()-documentLoader() == this) +return m_frame-document(); +return 0; +} + const ResourceRequest DocumentLoader::originalRequest() const { return m_originalRequest; @@ -284,7 +291,7 @@ // http/tests/security/feed-urls-from-remote.html to timeout on Mac WK1 // see http://webkit.org/b/110554 and http://webkit.org/b/110401 #if ENABLE(THREADED_HTML_PARSER) -if (m_frame m_frame-document() m_frame-document()-hasActiveParser()) +if (document() document()-hasActiveParser()) return true; #endif return isLoadingMainResource() || !m_subresourceLoaders.isEmpty() || !m_plugInStreamLoaders.isEmpty(); Modified: trunk/Source/WebCore/loader/DocumentLoader.h (144239 => 144240) --- trunk/Source/WebCore/loader/DocumentLoader.h 2013-02-27 22:24:23 UTC (rev 144239) +++ trunk/Source/WebCore/loader/DocumentLoader.h 2013-02-27 22:39:19 UTC (rev 144240) @@ -85,6 +85,7 @@ PassRefPtrResourceBuffer mainResourceData() const; DocumentWriter* writer() const { return m_writer; } +Document* document() const; const ResourceRequest originalRequest() const; const ResourceRequest originalRequestCopy() const; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144250] trunk/Source/WebCore
Title: [144250] trunk/Source/WebCore Revision 144250 Author aba...@webkit.org Date 2013-02-27 16:17:27 -0800 (Wed, 27 Feb 2013) Log Message Use FeatureObserver to see how often web sites use multipart main documents https://bugs.webkit.org/show_bug.cgi?id=111015 Reviewed by Nate Chapin. Multipart main documents add sigificant complexity to the loader. It would be interesting to know how often this complexity is used. * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::responseReceived): * page/FeatureObserver.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/MainResourceLoader.cpp trunk/Source/WebCore/page/FeatureObserver.h Diff Modified: trunk/Source/WebCore/ChangeLog (144249 => 144250) --- trunk/Source/WebCore/ChangeLog 2013-02-27 23:50:41 UTC (rev 144249) +++ trunk/Source/WebCore/ChangeLog 2013-02-28 00:17:27 UTC (rev 144250) @@ -1,3 +1,17 @@ +2013-02-27 Adam Barth aba...@webkit.org + +Use FeatureObserver to see how often web sites use multipart main documents +https://bugs.webkit.org/show_bug.cgi?id=111015 + +Reviewed by Nate Chapin. + +Multipart main documents add sigificant complexity to the loader. It +would be interesting to know how often this complexity is used. + +* loader/MainResourceLoader.cpp: +(WebCore::MainResourceLoader::responseReceived): +* page/FeatureObserver.h: + 2013-02-27 James Simonsen simon...@chromium.org [chromium] Lower priority of preloaded images Modified: trunk/Source/WebCore/loader/MainResourceLoader.cpp (144249 => 144250) --- trunk/Source/WebCore/loader/MainResourceLoader.cpp 2013-02-27 23:50:41 UTC (rev 144249) +++ trunk/Source/WebCore/loader/MainResourceLoader.cpp 2013-02-28 00:17:27 UTC (rev 144250) @@ -39,6 +39,7 @@ #include Document.h #include DocumentLoadTiming.h #include DocumentLoader.h +#include FeatureObserver.h #include FormState.h #include Frame.h #include FrameLoader.h @@ -427,8 +428,10 @@ m_resource-clear(); } -if (r.isMultipart()) +if (r.isMultipart()) { +FeatureObserver::observe(m_documentLoader-frame()-document(), FeatureObserver::MultipartMainResource); m_loadingMultipartContent = true; +} // The additional processing can do anything including possibly removing the last // reference to this object; one example of this is 3266216. Modified: trunk/Source/WebCore/page/FeatureObserver.h (144249 => 144250) --- trunk/Source/WebCore/page/FeatureObserver.h 2013-02-27 23:50:41 UTC (rev 144249) +++ trunk/Source/WebCore/page/FeatureObserver.h 2013-02-28 00:17:27 UTC (rev 144250) @@ -45,7 +45,7 @@ enum Feature { PageDestruction, LegacyNotifications, -UnusedSlot01, // Prior to 10/2012, we used this slot for LegacyBlobBuilder. +MultipartMainResource, PrefixedIndexedDB, WorkerStart, SharedWorkerStart, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144264] trunk/LayoutTests
Title: [144264] trunk/LayoutTests Revision 144264 Author aba...@webkit.org Date 2013-02-27 23:44:46 -0800 (Wed, 27 Feb 2013) Log Message Unreviewed. Update some test expectations based on the threaded parser behavior. These look like test integration issues rather than actual bugs in the parser. We will investigate them offline. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144263 => 144264) --- trunk/LayoutTests/ChangeLog 2013-02-28 06:44:41 UTC (rev 144263) +++ trunk/LayoutTests/ChangeLog 2013-02-28 07:44:46 UTC (rev 144264) @@ -1,3 +1,13 @@ +2013-02-27 Adam Barth aba...@webkit.org + +Unreviewed. + +Update some test expectations based on the threaded parser behavior. +These look like test integration issues rather than actual bugs in the +parser. We will investigate them offline. + +* platform/chromium/TestExpectations: + 2013-02-27 Kunihiko Sakamoto ksakam...@chromium.org INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of hour field should respect min/max attributes Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144263 => 144264) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 06:44:41 UTC (rev 144263) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-28 07:44:46 UTC (rev 144264) @@ -3026,6 +3026,9 @@ webkit.org/b/110929 http/tests/multipart/policy-ignore-crash.php [ Missing Failure ] webkit.org/b/110929 http/tests/multipart/multipart-html.php [ Missing Failure ] webkit.org/b/111023 fast/loader/unload-hyperlink-targeted.html [ Timeout ] +webkit.org/b/111043 [ Debug ] fast/encoding/script-in-head.html [ Pass Timeout ] +webkit.org/b/111044 fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] +webkit.org/b/111044 fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html [ Timeout ] webkit.org/b/70988 [ Mac Win Debug ] fast/forms/submit-to-blank-multiple-times.html [ Failure Pass ] webkit.org/b/70988 [ Mac Debug ] fast/overflow/003.xml [ Failure Pass ] @@ -4433,14 +4436,14 @@ webkit.org/b/110851 platform/chromium/virtual/softwarecompositing/repaint/page-scale-repaint.html [ ImageOnlyFailure ] # Impl-side scrolling is broken for RTL. Causing impl-side scrollbar artifacts. -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ ImageOnlyFailure ] -crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ ImageOnlyFailure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] +crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] +crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] # Need rebaseline webkit.org/b/110654 [ Mac Win ] css2.1/20110323/replaced-elements-001.htm [ Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144136] trunk
Title: [144136] trunk Revision 144136 Author aba...@webkit.org Date 2013-02-26 19:00:08 -0800 (Tue, 26 Feb 2013) Log Message [Chromium] Enable threaded HTML parser by default in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=110907 Reviewed by Eric Seidel. Tools: This patch changes --enable-threaded-html-parser into --disable-threaded-html-parser and thereby enables the threaded HTML parser by default for the Chromium port. * DumpRenderTree/chromium/DumpRenderTree.cpp: * DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp: (WebTestRunner::WebPreferences::reset): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): LayoutTests: Update test results to show subtle differences in FrameLoaderClient callbacks. * platform/chromium-mac/security/block-test-no-port-expected.txt: Removed. * platform/chromium-win/fast/images/support-broken-image-delegate-expected.txt: * platform/chromium-win/security/block-test-no-port-expected.txt: Removed. * platform/chromium/fast/images/support-broken-image-delegate-expected.txt: * platform/chromium/fast/loader/main-document-url-for-non-http-loads-expected.txt: Added. * platform/chromium/http/tests/loading/307-after-303-after-post-expected.txt: Added. * platform/chromium/http/tests/misc/favicon-loads-with-images-disabled-expected.txt: Added. * platform/chromium/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: * platform/chromium/http/tests/misc/window-dot-stop-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added. * platform/chromium/inspector/debugger/pause-in-inline-script-expected.txt: Added. * platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt: Added. * platform/chromium/security/block-test-no-port-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations trunk/LayoutTests/platform/chromium/fast/images/support-broken-image-delegate-expected.txt trunk/LayoutTests/platform/chromium/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt trunk/LayoutTests/platform/chromium/security/block-test-no-port-expected.txt trunk/LayoutTests/platform/chromium-win/fast/images/support-broken-image-delegate-expected.txt trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp trunk/Tools/DumpRenderTree/chromium/TestShell.cpp Added Paths trunk/LayoutTests/platform/chromium/fast/loader/main-document-url-for-non-http-loads-expected.txt trunk/LayoutTests/platform/chromium/http/tests/loading/307-after-303-after-post-expected.txt trunk/LayoutTests/platform/chromium/http/tests/misc/favicon-loads-with-images-disabled-expected.txt trunk/LayoutTests/platform/chromium/http/tests/misc/window-dot-stop-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/ trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt trunk/LayoutTests/platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt trunk/LayoutTests/platform/chromium/inspector/debugger/pause-in-inline-script-expected.txt
[webkit-changes] [144139] trunk/Source/WebCore
Title: [144139] trunk/Source/WebCore Revision 144139 Author aba...@webkit.org Date 2013-02-26 20:32:49 -0800 (Tue, 26 Feb 2013) Log Message Silence this ASSERT. It is triggered by the threaded HTML parser. Investigation to follow in https://bugs.webkit.org/show_bug.cgi?id=110937 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::checkLoadComplete): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/DocumentLoader.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (144138 => 144139) --- trunk/Source/WebCore/ChangeLog 2013-02-27 04:26:28 UTC (rev 144138) +++ trunk/Source/WebCore/ChangeLog 2013-02-27 04:32:49 UTC (rev 144139) @@ -1,3 +1,11 @@ +2013-02-26 Adam Barth aba...@webkit.org + +Silence this ASSERT. It is triggered by the threaded HTML parser. +Investigation to follow in https://bugs.webkit.org/show_bug.cgi?id=110937 + +* loader/DocumentLoader.cpp: +(WebCore::DocumentLoader::checkLoadComplete): + 2013-02-26 Mark Lam mark@apple.com SQLTransactionBackend::doCleanup() should not nullify its current Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (144138 => 144139) --- trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 04:26:28 UTC (rev 144138) +++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2013-02-27 04:32:49 UTC (rev 144139) @@ -431,7 +431,6 @@ { if (!m_frame || isLoading()) return; -ASSERT(this == frameLoader()-activeDocumentLoader()); m_frame-document()-domWindow()-finishedLoading(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [144143] trunk/LayoutTests
Title: [144143] trunk/LayoutTests Revision 144143 Author aba...@webkit.org Date 2013-02-26 21:51:56 -0800 (Tue, 26 Feb 2013) Log Message Unreviewed. Update expectations to show new FrameLoaderClient callbacks. I missed this test earlier because it doesn't run on Linux. * platform/chromium-win/http/tests/loading/redirect-methods-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium-win/http/tests/loading/redirect-methods-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (144142 => 144143) --- trunk/LayoutTests/ChangeLog 2013-02-27 05:11:04 UTC (rev 144142) +++ trunk/LayoutTests/ChangeLog 2013-02-27 05:51:56 UTC (rev 144143) @@ -1,3 +1,12 @@ +2013-02-26 Adam Barth aba...@webkit.org + +Unreviewed. + +Update expectations to show new FrameLoaderClient callbacks. I missed +this test earlier because it doesn't run on Linux. + +* platform/chromium-win/http/tests/loading/redirect-methods-expected.txt: + 2013-02-26 Filip Pizlo fpi...@apple.com DFG OSR exit doesn't know which virtual register to use for the last result register for post_inc and post_dec Modified: trunk/LayoutTests/platform/chromium-win/http/tests/loading/redirect-methods-expected.txt (144142 => 144143) --- trunk/LayoutTests/platform/chromium-win/http/tests/loading/redirect-methods-expected.txt 2013-02-27 05:11:04 UTC (rev 144142) +++ trunk/LayoutTests/platform/chromium-win/http/tests/loading/redirect-methods-expected.txt 2013-02-27 05:51:56 UTC (rev 144143) @@ -3,7 +3,6 @@ main frame - didFinishDocumentLoadForFrame main frame - didHandleOnloadEventsForFrame main frame - didFinishLoadForFrame -unknown - didFinishLoading frame 0 - didStartProvisionalLoadForFrame frame 0 - didCommitLoadForFrame frame 0 - didFinishDocumentLoadForFrame @@ -15,11 +14,11 @@ http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - didReceiveResponse NSURLResponse http://127.0.0.1:8000/loading/resources/redirect-methods-form.html, http status code 200 frame 0 - didCancelClientRedirectForFrame frame 0 - didCommitLoadForFrame +http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - didFinishLoading frame 0 - didFinishDocumentLoadForFrame frame 0 - willPerformClientRedirectToURL: http://127.0.0.1:8000/loading/resources/redirect-methods-result.php frame 0 - didHandleOnloadEventsForFrame frame 0 - didFinishLoadForFrame -http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - didFinishLoading frame 0 - didStartProvisionalLoadForFrame http://127.0.0.1:8000/loading/resources/redirect-methods-result.php - willSendRequest NSURLRequest URL http://127.0.0.1:8000/loading/resources/redirect-methods-result.php, main document URL http://127.0.0.1:8000/loading/redirect-methods.html, http method POST redirectResponse (null) http://127.0.0.1:8000/loading/resources/redirect-methods-result.php - willSendRequest NSURLRequest URL http://127.0.0.1:8000/loading/resources/redirect-methods-result.php?redirected=true, main document URL http://127.0.0.1:8000/loading/redirect-methods.html, http method GET redirectResponse NSURLResponse http://127.0.0.1:8000/loading/resources/redirect-methods-result.php, http status code 301 @@ -27,6 +26,7 @@ http://127.0.0.1:8000/loading/resources/redirect-methods-result.php - didReceiveResponse NSURLResponse http://127.0.0.1:8000/loading/resources/redirect-methods-result.php?redirected=true, http status code 200 frame 0 - didCancelClientRedirectForFrame frame 0 - didCommitLoadForFrame +http://127.0.0.1:8000/loading/resources/redirect-methods-result.php - didFinishLoading frame 0 - didFinishDocumentLoadForFrame frame 1 - didStartProvisionalLoadForFrame frame 1 - didCommitLoadForFrame @@ -36,17 +36,16 @@ frame 1 - willPerformClientRedirectToURL: http://127.0.0.1:8000/loading/resources/redirect-methods-form.html frame 0 - didHandleOnloadEventsForFrame frame 0 - didFinishLoadForFrame -http://127.0.0.1:8000/loading/resources/redirect-methods-result.php - didFinishLoading frame 1 - didStartProvisionalLoadForFrame http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - willSendRequest NSURLRequest URL http://127.0.0.1:8000/loading/resources/redirect-methods-form.html, main document URL http://127.0.0.1:8000/loading/redirect-methods.html, http method GET redirectResponse (null) http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - didReceiveResponse NSURLResponse http://127.0.0.1:8000/loading/resources/redirect-methods-form.html, http status code 200 frame 1 - didCancelClientRedirectForFrame frame 1 - didCommitLoadForFrame +http://127.0.0.1:8000/loading/resources/redirect-methods-form.html - didFinishLoading frame 1 - didFinishDocumentLoadForFrame frame 1 - willPerformClientRedirectToURL: http://127.0.0.1:8000/loading/resources/redirect-methods-result.php frame 1 - didHandleOnloadEventsForFrame frame 1 - didFinishLoadForFrame
[webkit-changes] [144147] trunk/LayoutTests
Title: [144147] trunk/LayoutTests Revision 144147 Author aba...@webkit.org Date 2013-02-26 22:18:58 -0800 (Tue, 26 Feb 2013) Log Message Unreviewed. Note another multipart failure to work through. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (144146 => 144147) --- trunk/LayoutTests/ChangeLog 2013-02-27 06:16:37 UTC (rev 144146) +++ trunk/LayoutTests/ChangeLog 2013-02-27 06:18:58 UTC (rev 144147) @@ -1,3 +1,11 @@ +2013-02-26 Adam Barth aba...@webkit.org + +Unreviewed. + +Note another multipart failure to work through. + +* platform/chromium/TestExpectations: + 2013-02-26 Uday Kiran udayki...@motorola.com getPropertyValue for -webkit-column-rule returns null, should compute the shorthand value Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144146 => 144147) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-27 06:16:37 UTC (rev 144146) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-27 06:18:58 UTC (rev 144147) @@ -3000,6 +3000,7 @@ webkit.org/b/78620 [ Android Linux Debug ] fast/forms/formaction-attribute.html [ Failure Pass Slow ] webkit.org/b/110929 http/tests/multipart/policy-ignore-crash.php [ Missing Failure ] +webkit.org/b/110929 http/tests/multipart/multipart-html.php [ Missing Failure ] webkit.org/b/70988 [ Mac Win Debug ] fast/forms/submit-to-blank-multiple-times.html [ Failure Pass ] webkit.org/b/70988 [ Mac Debug ] fast/overflow/003.xml [ Failure Pass ] @@ -4448,4 +4449,4 @@ # We can rebaseline when we drop Lucid support. webkit.org/b/110540 [ Linux ] fast/text/international/thai-line-breaks.html [ ImageOnlyFailure Pass ] -webkit.org/b/108196 fast/notifications/notifications-request-permission.html [ Pass Crash Failure ] \ No newline at end of file +webkit.org/b/108196 fast/notifications/notifications-request-permission.html [ Pass Crash Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [143960] trunk/Source/WebCore
Title: [143960] trunk/Source/WebCore Revision 143960 Author aba...@webkit.org Date 2013-02-25 12:58:27 -0800 (Mon, 25 Feb 2013) Log Message 6% regression in intl1 page cycler on chromium-mac https://bugs.webkit.org/show_bug.cgi?id=110784 Reviewed by Eric Seidel. This patch attempts to heal the regression by reverting all the changes to the preload scanner up to (and including) http://trac.webkit.org/changeset/143020/. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::resumeFrom): (WebCore::BackgroundHTMLParser::pumpTokenizer): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): * html/parser/CSSPreloadScanner.cpp: (WebCore::CSSPreloadScanner::scan): (WebCore::CSSPreloadScanner::emitRule): * html/parser/CSSPreloadScanner.h: (CSSPreloadScanner): * html/parser/HTMLPreloadScanner.cpp: (WebCore::isStartTag): (WebCore): (WebCore::isStartOrEndTag): (WebCore::TokenPreloadScanner::identifierFor): (WebCore::TokenPreloadScanner::inititatorFor): (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest): (WebCore::TokenPreloadScanner::processPossibleTemplateTag): (WebCore::TokenPreloadScanner::processPossibleStyleTag): (WebCore::TokenPreloadScanner::processPossibleBaseTag): (WebCore::TokenPreloadScanner::scan): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (TokenPreloadScanner): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h Diff Modified: trunk/Source/WebCore/ChangeLog (143959 => 143960) --- trunk/Source/WebCore/ChangeLog 2013-02-25 20:54:25 UTC (rev 143959) +++ trunk/Source/WebCore/ChangeLog 2013-02-25 20:58:27 UTC (rev 143960) @@ -1,3 +1,39 @@ +2013-02-25 Adam Barth aba...@webkit.org + +6% regression in intl1 page cycler on chromium-mac +https://bugs.webkit.org/show_bug.cgi?id=110784 + +Reviewed by Eric Seidel. + +This patch attempts to heal the regression by reverting all the changes +to the preload scanner up to (and including) +http://trac.webkit.org/changeset/143020/. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::resumeFrom): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +* html/parser/CSSPreloadScanner.cpp: +(WebCore::CSSPreloadScanner::scan): +(WebCore::CSSPreloadScanner::emitRule): +* html/parser/CSSPreloadScanner.h: +(CSSPreloadScanner): +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::isStartTag): +(WebCore): +(WebCore::isStartOrEndTag): +(WebCore::TokenPreloadScanner::identifierFor): +(WebCore::TokenPreloadScanner::inititatorFor): +(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): +(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest): +(WebCore::TokenPreloadScanner::processPossibleTemplateTag): +(WebCore::TokenPreloadScanner::processPossibleStyleTag): +(WebCore::TokenPreloadScanner::processPossibleBaseTag): +(WebCore::TokenPreloadScanner::scan): +(WebCore::HTMLPreloadScanner::scan): +* html/parser/HTMLPreloadScanner.h: +(TokenPreloadScanner): + 2013-02-25 Mark Lam mark@apple.com Changed DatabaseTracker::getMaxSizeForDatabase() to return the previous Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (143959 => 143960) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-02-25 20:54:25 UTC (rev 143959) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-02-25 20:58:27 UTC (rev 143960) @@ -156,7 +156,6 @@ m_token = checkpoint-token.release(); m_tokenizer = checkpoint-tokenizer.release(); m_input.rewindTo(checkpoint-inputCheckpoint, checkpoint-unparsedInput); -m_preloadScanner-rewindTo(checkpoint-preloadScannerCheckpoint); pumpTokenizer(); } @@ -252,8 +251,6 @@ if (xssInfo) token.setXSSInfo(xssInfo.release()); -m_preloadScanner-scan(token, m_pendingPreloads); - m_pendingTokens-append(token); } @@ -280,7 +277,6 @@ chunk-tokens = m_pendingTokens.release(); chunk-preloads.swap(m_pendingPreloads); chunk-inputCheckpoint = m_input.createCheckpoint(); -chunk-preloadScannerCheckpoint = m_preloadScanner-createCheckpoint(); callOnMainThread(bind(HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser, m_parser, chunk.release())); m_pendingTokens = adoptPtr(new CompactHTMLTokenStream); Modified:
[webkit-changes] [143961] trunk/Source/WebCore
Title: [143961] trunk/Source/WebCore Revision 143961 Author aba...@webkit.org Date 2013-02-25 13:13:04 -0800 (Mon, 25 Feb 2013) Log Message Build fix for Debug. * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::startBackgroundParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (143960 => 143961) --- trunk/Source/WebCore/ChangeLog 2013-02-25 20:58:27 UTC (rev 143960) +++ trunk/Source/WebCore/ChangeLog 2013-02-25 21:13:04 UTC (rev 143961) @@ -1,5 +1,12 @@ 2013-02-25 Adam Barth aba...@webkit.org +Build fix for Debug. + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::startBackgroundParser): + +2013-02-25 Adam Barth aba...@webkit.org + 6% regression in intl1 page cycler on chromium-mac https://bugs.webkit.org/show_bug.cgi?id=110784 Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (143960 => 143961) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-25 20:58:27 UTC (rev 143960) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-25 21:13:04 UTC (rev 143961) @@ -608,7 +608,6 @@ config-preloadScanner = adoptPtr(new TokenPreloadScanner(document()-url().copy())); ASSERT(config-xssAuditor-isSafeToSendToAnotherThread()); -ASSERT(config-preloadScanner-isSafeToSendToAnotherThread()); HTMLParserThread::shared()-postTask(bind(BackgroundHTMLParser::create, reference.release(), config.release())); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [143983] trunk/Source/WebCore
Title: [143983] trunk/Source/WebCore Revision 143983 Author aba...@webkit.org Date 2013-02-25 16:12:53 -0800 (Mon, 25 Feb 2013) Log Message 6% regression in intl1 page cycler on chromium-mac https://bugs.webkit.org/show_bug.cgi?id=110784 Reviewed by Eric Seidel. This patch reverts http://trac.webkit.org/changeset/143014 to see if that's the cause of the PLT regression. If it's not the cause, I'll roll it back in. * dom/Element.cpp: (WebCore::Element::addAttributeInternal): (WebCore::ShareableElementData::ShareableElementData): (WebCore::UniqueElementData::makeShareableCopy): (WebCore::ElementData::addAttribute): (WebCore::ElementData::removeAttribute): (WebCore::ElementData::reportMemoryUsage): * dom/Element.h: (ElementData): (UniqueElementData): (WebCore::ElementData::mutableAttributeVector): (WebCore): (WebCore::ElementData::immutableAttributeArray): (WebCore::ElementData::length): (WebCore::ElementData::getAttributeItem): (WebCore::ElementData::attributeItem): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/dom/Element.h Diff Modified: trunk/Source/WebCore/ChangeLog (143982 => 143983) --- trunk/Source/WebCore/ChangeLog 2013-02-25 23:48:24 UTC (rev 143982) +++ trunk/Source/WebCore/ChangeLog 2013-02-26 00:12:53 UTC (rev 143983) @@ -1,3 +1,31 @@ +2013-02-25 Adam Barth aba...@webkit.org + +6% regression in intl1 page cycler on chromium-mac +https://bugs.webkit.org/show_bug.cgi?id=110784 + +Reviewed by Eric Seidel. + +This patch reverts http://trac.webkit.org/changeset/143014 to see if +that's the cause of the PLT regression. If it's not the cause, I'll +roll it back in. + +* dom/Element.cpp: +(WebCore::Element::addAttributeInternal): +(WebCore::ShareableElementData::ShareableElementData): +(WebCore::UniqueElementData::makeShareableCopy): +(WebCore::ElementData::addAttribute): +(WebCore::ElementData::removeAttribute): +(WebCore::ElementData::reportMemoryUsage): +* dom/Element.h: +(ElementData): +(UniqueElementData): +(WebCore::ElementData::mutableAttributeVector): +(WebCore): +(WebCore::ElementData::immutableAttributeArray): +(WebCore::ElementData::length): +(WebCore::ElementData::getAttributeItem): +(WebCore::ElementData::attributeItem): + 2013-02-25 Tim Horton timothy_hor...@apple.com Page::m_isInWindow is uninitialized Modified: trunk/Source/WebCore/dom/Element.cpp (143982 => 143983) --- trunk/Source/WebCore/dom/Element.cpp 2013-02-25 23:48:24 UTC (rev 143982) +++ trunk/Source/WebCore/dom/Element.cpp 2013-02-26 00:12:53 UTC (rev 143983) @@ -1820,7 +1820,7 @@ { if (!inSynchronizationOfLazyAttribute) willModifyAttribute(name, nullAtom, value); -ensureUniqueElementData()-addAttribute(name, value); +ensureUniqueElementData()-addAttribute(Attribute(name, value)); if (!inSynchronizationOfLazyAttribute) didAddAttribute(name, value); } @@ -2969,7 +2969,7 @@ } for (unsigned i = 0; i m_arraySize; ++i) -new (m_attributeArray[i]) Attribute(other.m_attributeVector.at(i)); +new (reinterpret_castAttribute*(m_attributeArray)[i]) Attribute(*other.attributeItem(i)); } ElementData::ElementData(const ElementData other, bool isUnique) @@ -3019,19 +3019,21 @@ PassRefPtrShareableElementData UniqueElementData::makeShareableCopy() const { -void* slot = WTF::fastMalloc(sizeForShareableElementDataWithAttributeCount(m_attributeVector.size())); +void* slot = WTF::fastMalloc(sizeForShareableElementDataWithAttributeCount(mutableAttributeVector().size())); return adoptRef(new (slot) ShareableElementData(*this)); } -void UniqueElementData::addAttribute(const QualifiedName attributeName, const AtomicString value) +void ElementData::addAttribute(const Attribute attribute) { -m_attributeVector.append(Attribute(attributeName, value)); +ASSERT(isUnique()); +mutableAttributeVector().append(attribute); } -void UniqueElementData::removeAttribute(size_t index) +void ElementData::removeAttribute(size_t index) { +ASSERT(isUnique()); ASSERT_WITH_SECURITY_IMPLICATION(index length()); -m_attributeVector.remove(index); +mutableAttributeVector().remove(index); } bool ElementData::isEquivalent(const ElementData* other) const @@ -3061,9 +3063,8 @@ info.addMember(m_classNames, classNames); info.addMember(m_idForStyleResolution, idForStyleResolution); if (m_isUnique) { -const UniqueElementData* uniqueThis = static_castconst UniqueElementData*(this); -info.addMember(uniqueThis-m_presentationAttributeStyle, presentationAttributeStyle); -info.addMember(uniqueThis-m_attributeVector, attributeVector); +info.addMember(presentationAttributeStyle(), presentationAttributeStyle()); +
[webkit-changes] [144000] trunk/Source/WebCore
Title: [144000] trunk/Source/WebCore Revision 144000 Author aba...@webkit.org Date 2013-02-25 18:36:18 -0800 (Mon, 25 Feb 2013) Log Message Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-_javascript_-url.html https://bugs.webkit.org/show_bug.cgi?id=110637 Reviewed by Eric Seidel. With the main thread parser, we always parse the first chunk of content returned as the result of evaluating a _javascript_ URL synchronously. In particular, if the first chunk has an inline script, we'll execute it synchronously. Previous to this patch, the threaded parser would always parse this content asynchronously. It's conceivable that there could be some content relying on the synchronous behavior, so this patch introduces the notion of pinning a parser to the main thread and uses that concept to force the result of _javascript_ URLs to be parsed on the main thread (which is probably desirable anyway because they're likely to be quite short). This patch fixes fast/parser/iframe-sets-parent-to-_javascript_-url.html and fast/dom/_javascript_-url-crash-function.html with the threaded parser with --enable-threaded-html-parser. * dom/DocumentParser.h: (WebCore::DocumentParser::pinToMainThread): (DocumentParser): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): (WebCore): (WebCore::HTMLDocumentParser::pinToMainThread): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): (WebCore::HTMLDocumentParser::shouldUseThreading): * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::replaceDocument): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/DocumentParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/loader/DocumentWriter.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (143999 => 144000) --- trunk/Source/WebCore/ChangeLog 2013-02-26 02:33:04 UTC (rev 143999) +++ trunk/Source/WebCore/ChangeLog 2013-02-26 02:36:18 UTC (rev 144000) @@ -1,3 +1,40 @@ +2013-02-25 Adam Barth aba...@webkit.org + +Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-_javascript_-url.html +https://bugs.webkit.org/show_bug.cgi?id=110637 + +Reviewed by Eric Seidel. + +With the main thread parser, we always parse the first chunk of content +returned as the result of evaluating a _javascript_ URL synchronously. In +particular, if the first chunk has an inline script, we'll execute it +synchronously. + +Previous to this patch, the threaded parser would always parse this +content asynchronously. It's conceivable that there could be some +content relying on the synchronous behavior, so this patch introduces +the notion of pinning a parser to the main thread and uses that +concept to force the result of _javascript_ URLs to be parsed on the main +thread (which is probably desirable anyway because they're likely to be +quite short). + +This patch fixes fast/parser/iframe-sets-parent-to-_javascript_-url.html +and fast/dom/_javascript_-url-crash-function.html with the threaded +parser with --enable-threaded-html-parser. + +* dom/DocumentParser.h: +(WebCore::DocumentParser::pinToMainThread): +(DocumentParser): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::HTMLDocumentParser): +(WebCore): +(WebCore::HTMLDocumentParser::pinToMainThread): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): +(WebCore::HTMLDocumentParser::shouldUseThreading): +* loader/DocumentWriter.cpp: +(WebCore::DocumentWriter::replaceDocument): + 2013-02-25 Jessie Berlin jber...@apple.com Update the localizable strings file. Modified: trunk/Source/WebCore/dom/DocumentParser.h (143999 => 144000) --- trunk/Source/WebCore/dom/DocumentParser.h 2013-02-26 02:33:04 UTC (rev 143999) +++ trunk/Source/WebCore/dom/DocumentParser.h 2013-02-26 02:36:18 UTC (rev 144000) @@ -49,6 +49,8 @@ virtual void appendBytes(DocumentWriter*, const char* bytes, size_t length) = 0; virtual void flush(DocumentWriter*) = 0; +virtual void pinToMainThread() { } + // FIXME: append() should be private, but DocumentWriter::replaceDocument // uses it for now. virtual void append(const SegmentedString) = 0; Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (143999 => 144000) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-26 02:33:04 UTC (rev 143999) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-26 02:36:18 UTC (rev 144000) @@ -89,6 +89,7 @@ , m_weakFactory(this) #endif , m_preloader(adoptPtr(new HTMLResourcePreloader(document))) +, m_isPinnedToMainThread(false) , m_endWasDelayed(false) , m_haveBackgroundParser(false) ,
[webkit-changes] [144010] trunk/Source/WebCore
Title: [144010] trunk/Source/WebCore Revision 144010 Author aba...@webkit.org Date 2013-02-25 23:21:52 -0800 (Mon, 25 Feb 2013) Log Message 6% regression in intl1 page cycler on chromium-mac https://bugs.webkit.org/show_bug.cgi?id=110784 Unreviewed. This patch restores the code that I rolled out in http://trac.webkit.org/changeset/143960 and http://trac.webkit.org/changeset/143983. Rolling out those patches did not heal the bot. * dom/Element.cpp: (WebCore::Element::addAttributeInternal): (WebCore::ShareableElementData::ShareableElementData): (WebCore::UniqueElementData::makeShareableCopy): (WebCore::UniqueElementData::addAttribute): (WebCore::UniqueElementData::removeAttribute): (WebCore::ElementData::reportMemoryUsage): (WebCore::UniqueElementData::getAttributeItem): (WebCore): (WebCore::UniqueElementData::attributeItem): * dom/Element.h: (ElementData): (UniqueElementData): (WebCore::isShadowHost): (WebCore::ElementData::length): (WebCore::ElementData::attributeItem): * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::resumeFrom): (WebCore::BackgroundHTMLParser::pumpTokenizer): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): * html/parser/CSSPreloadScanner.cpp: (WebCore): (WebCore::CSSPreloadScanner::scanCommon): (WebCore::CSSPreloadScanner::scan): (WebCore::CSSPreloadScanner::emitRule): * html/parser/CSSPreloadScanner.h: (CSSPreloadScanner): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::startBackgroundParser): * html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::tagIdFor): (WebCore): (WebCore::TokenPreloadScanner::initiatorFor): (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): (TokenPreloadScanner::StartTagScanner): (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest): (WebCore::TokenPreloadScanner::createCheckpoint): (WebCore::TokenPreloadScanner::rewindTo): (WebCore::TokenPreloadScanner::scan): (WebCore::TokenPreloadScanner::scanCommon): (WebCore::TokenPreloadScanner::updatePredictedBaseURL): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (TokenPreloadScanner): (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread): (WebCore::TokenPreloadScanner::Checkpoint::Checkpoint): (Checkpoint): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/dom/Element.h trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h Diff Modified: trunk/Source/WebCore/ChangeLog (144009 => 144010) --- trunk/Source/WebCore/ChangeLog 2013-02-26 07:01:19 UTC (rev 144009) +++ trunk/Source/WebCore/ChangeLog 2013-02-26 07:21:52 UTC (rev 144010) @@ -1,3 +1,63 @@ +2013-02-25 Adam Barth aba...@webkit.org + +6% regression in intl1 page cycler on chromium-mac +https://bugs.webkit.org/show_bug.cgi?id=110784 + +Unreviewed. + +This patch restores the code that I rolled out in +http://trac.webkit.org/changeset/143960 and +http://trac.webkit.org/changeset/143983. Rolling out those patches did +not heal the bot. + +* dom/Element.cpp: +(WebCore::Element::addAttributeInternal): +(WebCore::ShareableElementData::ShareableElementData): +(WebCore::UniqueElementData::makeShareableCopy): +(WebCore::UniqueElementData::addAttribute): +(WebCore::UniqueElementData::removeAttribute): +(WebCore::ElementData::reportMemoryUsage): +(WebCore::UniqueElementData::getAttributeItem): +(WebCore): +(WebCore::UniqueElementData::attributeItem): +* dom/Element.h: +(ElementData): +(UniqueElementData): +(WebCore::isShadowHost): +(WebCore::ElementData::length): +(WebCore::ElementData::attributeItem): +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::resumeFrom): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +* html/parser/CSSPreloadScanner.cpp: +(WebCore): +(WebCore::CSSPreloadScanner::scanCommon): +(WebCore::CSSPreloadScanner::scan): +(WebCore::CSSPreloadScanner::emitRule): +* html/parser/CSSPreloadScanner.h: +(CSSPreloadScanner): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::startBackgroundParser): +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::TokenPreloadScanner::tagIdFor): +(WebCore): +(WebCore::TokenPreloadScanner::initiatorFor): +(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): +(TokenPreloadScanner::StartTagScanner): +
[webkit-changes] [143845] trunk/Source/WebCore
Title: [143845] trunk/Source/WebCore Revision 143845 Author aba...@webkit.org Date 2013-02-23 10:37:50 -0800 (Sat, 23 Feb 2013) Log Message Threaded HTML parser should pass fast/parser/parser-yield-timing.html https://bugs.webkit.org/show_bug.cgi?id=110647 Reviewed by Eric Seidel. Previously, the threaded HTML parser would run for an arbitrary amount of time without yielding after speculation succeeded. This might be the cause of the good DOMContentLoaded numbers. Note: This patch also demonstrates that the ParseHTML_max numbers aren't correct currently because they're measuring the interior of this loop instead of all the time spent in the loop. We should move the instrumentation in a followup patch. * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::resumeParsingAfterYield): (WebCore::HTMLDocumentParser::pumpPendingSpeculations): (WebCore): (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): * html/parser/HTMLParserScheduler.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/html/parser/HTMLParserScheduler.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (143844 => 143845) --- trunk/Source/WebCore/ChangeLog 2013-02-23 18:22:35 UTC (rev 143844) +++ trunk/Source/WebCore/ChangeLog 2013-02-23 18:37:50 UTC (rev 143845) @@ -1,3 +1,28 @@ +2013-02-23 Adam Barth aba...@webkit.org + +Threaded HTML parser should pass fast/parser/parser-yield-timing.html +https://bugs.webkit.org/show_bug.cgi?id=110647 + +Reviewed by Eric Seidel. + +Previously, the threaded HTML parser would run for an arbitrary amount +of time without yielding after speculation succeeded. This might be the +cause of the good DOMContentLoaded numbers. + +Note: This patch also demonstrates that the ParseHTML_max numbers +aren't correct currently because they're measuring the interior of this +loop instead of all the time spent in the loop. We should move the +instrumentation in a followup patch. + + * html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::resumeParsingAfterYield): +(WebCore::HTMLDocumentParser::pumpPendingSpeculations): +(WebCore): +(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): +* html/parser/HTMLParserScheduler.cpp: + 2013-02-23 Martin Robinson mrobin...@igalia.com [GTK] Allow sharing the WebCore include list with the Chromium build Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (143844 => 143845) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-23 18:22:35 UTC (rev 143844) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-23 18:37:50 UTC (rev 143845) @@ -240,12 +240,17 @@ // Used by HTMLParserScheduler void HTMLDocumentParser::resumeParsingAfterYield() { -ASSERT(!m_haveBackgroundParser); - // pumpTokenizer can cause this parser to be detached from the Document, // but we need to ensure it isn't deleted yet. RefPtrHTMLDocumentParser protect(this); +#if ENABLE(THREADED_HTML_PARSER) +if (m_haveBackgroundParser) { +pumpPendingSpeculations(); +return; +} +#endif + // We should never be here unless we can pump immediately. Call pumpTokenizer() // directly so that ASSERTS will fire if we're wrong. pumpTokenizer(AllowYield); @@ -355,6 +360,8 @@ void HTMLDocumentParser::processParsedChunkFromBackgroundParser(PassOwnPtrParsedChunk chunk) { +// ASSERT that this object is both attached to the Document and protected. +ASSERT(refCount() = 2); ASSERT(shouldUseThreading()); ActiveParserSession session(contextForParsingSession()); @@ -394,6 +401,34 @@ checkForSpeculationFailure(); } +void HTMLDocumentParser::pumpPendingSpeculations() +{ +// FIXME: Share this constant with the parser scheduler. +const double parserTimeLimit = 0.500; + +// ASSERT that this object is both attached to the Document and protected. +ASSERT(refCount() = 2); + +// FIXME: Pass in current input length. +InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteHTML(document(), 0, lineNumber().zeroBasedInt()); + +double startTime = currentTime(); + +while (!m_speculations.isEmpty()) { +processParsedChunkFromBackgroundParser(m_speculations.takeFirst()); + +if (isWaitingForScripts() || isStopped()) +break; + +if (currentTime() - startTime parserTimeLimit !m_speculations.isEmpty()) { +m_parserScheduler-scheduleForResume(); +break; +} +} + +InspectorInstrumentation::didWriteHTML(cookie, lineNumber().zeroBasedInt());
[webkit-changes] [143853] trunk/Source/WebCore
Title: [143853] trunk/Source/WebCore Revision 143853 Author aba...@webkit.org Date 2013-02-23 15:33:40 -0800 (Sat, 23 Feb 2013) Log Message WebCore fails to link in Chromium official build https://bugs.webkit.org/show_bug.cgi?id=110697 Reviewed by Eric Seidel. Apparently we need to use more shards to work around linker limitations on Windows again. * WebCore.gyp/WebCore.gyp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.gyp/WebCore.gyp Diff Modified: trunk/Source/WebCore/ChangeLog (143852 => 143853) --- trunk/Source/WebCore/ChangeLog 2013-02-23 23:31:36 UTC (rev 143852) +++ trunk/Source/WebCore/ChangeLog 2013-02-23 23:33:40 UTC (rev 143853) @@ -1,3 +1,15 @@ +2013-02-23 Adam Barth aba...@webkit.org + +WebCore fails to link in Chromium official build +https://bugs.webkit.org/show_bug.cgi?id=110697 + +Reviewed by Eric Seidel. + +Apparently we need to use more shards to work around linker limitations +on Windows again. + +* WebCore.gyp/WebCore.gyp: + 2013-02-23 Kentaro Hara hara...@chromium.org [V8] Rename constructorCallbackCustom() to constructorCustom() Modified: trunk/Source/WebCore/WebCore.gyp/WebCore.gyp (143852 => 143853) --- trunk/Source/WebCore/WebCore.gyp/WebCore.gyp 2013-02-23 23:31:36 UTC (rev 143852) +++ trunk/Source/WebCore/WebCore.gyp/WebCore.gyp 2013-02-23 23:33:40 UTC (rev 143853) @@ -2049,10 +2049,10 @@ ['include', 'loader/appcache/DOMApplicationCache\.(cpp|h)$'], ], 'conditions': [ -# Shard this taret into ten parts to work around linker limitations. +# Shard this taret into parts to work around linker limitations. # on link time code generation builds. ['OS==win and buildtype==Official', { - 'msvs_shard': 10, + 'msvs_shard': 15, }], ['os_posix == 1 and OS != mac and gcc_version == 42', { # Due to a bug in gcc 4.2.1 (the current version on hardy), we get ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [143797] trunk/Source/WebCore
Title: [143797] trunk/Source/WebCore Revision 143797 Author aba...@webkit.org Date 2013-02-22 14:17:49 -0800 (Fri, 22 Feb 2013) Log Message Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-_javascript_-url.html https://bugs.webkit.org/show_bug.cgi?id=110637 Reviewed by Eric Seidel. With the main thread parser, we always parse the first chunk of content returned as the result of evaluating a _javascript_ URL synchronously. In particular, if the first chunk has an inline script, we'll execute it synchronously. Previous to this patch, the threaded parser would always parse this content asynchronously. It's conceivable that there could be some content relying on the synchronous behavior, so this patch introduces the notion of pinning a parser to the main thread and uses that concept to force the result of _javascript_ URLs to be parsed on the main thread (which is probably desirable anyway because they're likely to be quite short). This patch fixes fast/parser/iframe-sets-parent-to-_javascript_-url.html and fast/dom/_javascript_-url-crash-function.html with the threaded parser with --enable-threaded-html-parser. * dom/DocumentParser.h: (WebCore::DocumentParser::pinToMainThread): (DocumentParser): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): (WebCore): (WebCore::HTMLDocumentParser::pinToMainThread): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): (WebCore::HTMLDocumentParser::shouldUseThreading): * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::replaceDocument): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/DocumentParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/loader/DocumentWriter.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (143796 => 143797) --- trunk/Source/WebCore/ChangeLog 2013-02-22 22:16:43 UTC (rev 143796) +++ trunk/Source/WebCore/ChangeLog 2013-02-22 22:17:49 UTC (rev 143797) @@ -1,3 +1,40 @@ +2013-02-22 Adam Barth aba...@webkit.org + +Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-_javascript_-url.html +https://bugs.webkit.org/show_bug.cgi?id=110637 + +Reviewed by Eric Seidel. + +With the main thread parser, we always parse the first chunk of content +returned as the result of evaluating a _javascript_ URL synchronously. In +particular, if the first chunk has an inline script, we'll execute it +synchronously. + +Previous to this patch, the threaded parser would always parse this +content asynchronously. It's conceivable that there could be some +content relying on the synchronous behavior, so this patch introduces +the notion of pinning a parser to the main thread and uses that +concept to force the result of _javascript_ URLs to be parsed on the main +thread (which is probably desirable anyway because they're likely to be +quite short). + +This patch fixes fast/parser/iframe-sets-parent-to-_javascript_-url.html +and fast/dom/_javascript_-url-crash-function.html with the threaded +parser with --enable-threaded-html-parser. + +* dom/DocumentParser.h: +(WebCore::DocumentParser::pinToMainThread): +(DocumentParser): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::HTMLDocumentParser): +(WebCore): +(WebCore::HTMLDocumentParser::pinToMainThread): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): +(WebCore::HTMLDocumentParser::shouldUseThreading): +* loader/DocumentWriter.cpp: +(WebCore::DocumentWriter::replaceDocument): + 2013-02-22 Joe Mason jma...@rim.com [BlackBerry] Reread cookies when retrying a request with new auth credentials Modified: trunk/Source/WebCore/dom/DocumentParser.h (143796 => 143797) --- trunk/Source/WebCore/dom/DocumentParser.h 2013-02-22 22:16:43 UTC (rev 143796) +++ trunk/Source/WebCore/dom/DocumentParser.h 2013-02-22 22:17:49 UTC (rev 143797) @@ -49,6 +49,8 @@ virtual void appendBytes(DocumentWriter*, const char* bytes, size_t length) = 0; virtual void flush(DocumentWriter*) = 0; +virtual void pinToMainThread() { } + // FIXME: append() should be private, but DocumentWriter::replaceDocument // uses it for now. virtual void append(const SegmentedString) = 0; Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (143796 => 143797) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-22 22:16:43 UTC (rev 143796) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-22 22:17:49 UTC (rev 143797) @@ -89,6 +89,7 @@ , m_weakFactory(this) #endif , m_preloader(adoptPtr(new HTMLResourcePreloader(document))) +, m_isPinnedToMainThread(false) , m_endWasDelayed(false) ,
[webkit-changes] [143802] trunk/LayoutTests
Title: [143802] trunk/LayoutTests Revision 143802 Author aba...@webkit.org Date 2013-02-22 14:39:26 -0800 (Fri, 22 Feb 2013) Log Message fast/parser/parser-yield-timing.html doesn't integrate with js-test-pre correctly https://bugs.webkit.org/show_bug.cgi?id=110645 Reviewed by Eric Seidel. * fast/parser/parser-yield-timing.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/parser/parser-yield-timing.html Diff Modified: trunk/LayoutTests/ChangeLog (143801 => 143802) --- trunk/LayoutTests/ChangeLog 2013-02-22 22:38:18 UTC (rev 143801) +++ trunk/LayoutTests/ChangeLog 2013-02-22 22:39:26 UTC (rev 143802) @@ -1,3 +1,12 @@ +2013-02-22 Adam Barth aba...@webkit.org + +fast/parser/parser-yield-timing.html doesn't integrate with js-test-pre correctly +https://bugs.webkit.org/show_bug.cgi?id=110645 + +Reviewed by Eric Seidel. + +* fast/parser/parser-yield-timing.html: + 2013-02-21 Ojan Vafai o...@chromium.org Increase the max preferred width of tables to 100 Modified: trunk/LayoutTests/fast/parser/parser-yield-timing.html (143801 => 143802) --- trunk/LayoutTests/fast/parser/parser-yield-timing.html 2013-02-22 22:38:18 UTC (rev 143801) +++ trunk/LayoutTests/fast/parser/parser-yield-timing.html 2013-02-22 22:39:26 UTC (rev 143802) @@ -3,9 +3,7 @@ head script type=text/_javascript_ src="" script - if (window.testRunner) { -window.testRunner.waitUntilDone(); - } + window.jsTestIsAsync = true; description(Runs 3 separate 1 second lt;scriptgt; blocks with a setTimeout schedule before each. The execution time of the setTimeout is when the HTML yielded to the event loop. The yields also represent painting opportunities. We want the parser to yield every 0.5 seconds once it has seen a script.); @@ -42,9 +40,7 @@ setTimeout(function() { expectElapsedTime(3000); -if (window.testRunner) { - testRunner.notifyDone(); -} +finishJSTest(); }, 0); /script script ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [143670] trunk
Title: [143670] trunk Revision 143670 Author aba...@webkit.org Date 2013-02-21 17:13:25 -0800 (Thu, 21 Feb 2013) Log Message Threaded HTML Parser fails fast/dom/Document/readystate.html https://bugs.webkit.org/show_bug.cgi?id=110529 Reviewed by Eric Seidel. Source/WebCore: We need to create the tokenizer even when we finish a script-created parser. Most of the time, the tokenizer has already been created at this point because it is created by calls to document.write. Test: fast/parser/body-should-exist-after-open-close.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::finish): LayoutTests: This test is a reduction of the original issue. * fast/parser/body-should-exist-after-open-close-expected.txt: Added. * fast/parser/body-should-exist-after-open-close.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Added Paths trunk/LayoutTests/fast/parser/body-should-exist-after-open-close-expected.txt trunk/LayoutTests/fast/parser/body-should-exist-after-open-close.html Diff Modified: trunk/LayoutTests/ChangeLog (143669 => 143670) --- trunk/LayoutTests/ChangeLog 2013-02-22 01:11:02 UTC (rev 143669) +++ trunk/LayoutTests/ChangeLog 2013-02-22 01:13:25 UTC (rev 143670) @@ -1,3 +1,15 @@ +2013-02-21 Adam Barth aba...@webkit.org + +Threaded HTML Parser fails fast/dom/Document/readystate.html +https://bugs.webkit.org/show_bug.cgi?id=110529 + +Reviewed by Eric Seidel. + +This test is a reduction of the original issue. + +* fast/parser/body-should-exist-after-open-close-expected.txt: Added. +* fast/parser/body-should-exist-after-open-close.html: Added. + 2013-02-21 Rouslan Solomakhin rous...@chromium.org Fix editing/spelling/spelling-changed-text.html on Qt and GTK Added: trunk/LayoutTests/fast/parser/body-should-exist-after-open-close-expected.txt (0 => 143670) --- trunk/LayoutTests/fast/parser/body-should-exist-after-open-close-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/body-should-exist-after-open-close-expected.txt 2013-02-22 01:13:25 UTC (rev 143670) @@ -0,0 +1 @@ + PASS Added: trunk/LayoutTests/fast/parser/body-should-exist-after-open-close.html (0 => 143670) --- trunk/LayoutTests/fast/parser/body-should-exist-after-open-close.html (rev 0) +++ trunk/LayoutTests/fast/parser/body-should-exist-after-open-close.html 2013-02-22 01:13:25 UTC (rev 143670) @@ -0,0 +1,11 @@ +body +iframe/iframe +script +if (window.testRunner) +testRunner.dumpAsText(); + +var doc = frames[0].document; +doc.open(); +doc.close(); +document.write(doc.body.toString() == [object HTMLBodyElement] ? PASS : FAIL); +/script Modified: trunk/Source/WebCore/ChangeLog (143669 => 143670) --- trunk/Source/WebCore/ChangeLog 2013-02-22 01:11:02 UTC (rev 143669) +++ trunk/Source/WebCore/ChangeLog 2013-02-22 01:13:25 UTC (rev 143670) @@ -1,3 +1,19 @@ +2013-02-21 Adam Barth aba...@webkit.org + +Threaded HTML Parser fails fast/dom/Document/readystate.html +https://bugs.webkit.org/show_bug.cgi?id=110529 + +Reviewed by Eric Seidel. + +We need to create the tokenizer even when we finish a script-created +parser. Most of the time, the tokenizer has already been created at +this point because it is created by calls to document.write. + +Test: fast/parser/body-should-exist-after-open-close.html + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::finish): + 2013-02-21 Emil A Eklund e...@chromium.org Lots of LayoutUnit assertions when loading a Wikipedia article Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (143669 => 143670) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-22 01:11:02 UTC (rev 143669) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-22 01:13:25 UTC (rev 143670) @@ -697,8 +697,8 @@ return; } -if (shouldUseThreading() !wasCreatedByScript()) { -ASSERT(!m_tokenizer !m_token); +if (!m_tokenizer) { +ASSERT(!m_token); // We're finishing before receiving any data. Rather than booting up // the background parser just to spin it down, we finish parsing // synchronously. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [143020] trunk/Source/WebCore
Title: [143020] trunk/Source/WebCore Revision 143020 Author aba...@webkit.org Date 2013-02-15 11:11:38 -0800 (Fri, 15 Feb 2013) Log Message TokenPreloadScanner should be able to scan CompactHTMLTokens https://bugs.webkit.org/show_bug.cgi?id=109861 Reviewed by Eric Seidel. This patch moves the main scanning logic for the TokenPreloadScanner to a templated scanCommon routine that can scan either an HTMLToken or a CompactHTMLToken. This patch will let the BackgroundHTMLParser preload scan its CompactHTMLTokens. * html/parser/CSSPreloadScanner.cpp: (WebCore): (WebCore::CSSPreloadScanner::scanCommon): (WebCore::CSSPreloadScanner::scan): * html/parser/CSSPreloadScanner.h: (CSSPreloadScanner): - Tweak the CSSPreloadScanner API slightly to make it easier to call from templated code. * html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::tagIdFor): (WebCore): (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): (TokenPreloadScanner::StartTagScanner): (WebCore::TokenPreloadScanner::scan): (WebCore::TokenPreloadScanner::scanCommon): (WebCore::TokenPreloadScanner::updatePredictedBaseURL): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (TokenPreloadScanner): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h Diff Modified: trunk/Source/WebCore/ChangeLog (143019 => 143020) --- trunk/Source/WebCore/ChangeLog 2013-02-15 19:06:30 UTC (rev 143019) +++ trunk/Source/WebCore/ChangeLog 2013-02-15 19:11:38 UTC (rev 143020) @@ -1,3 +1,35 @@ +2013-02-15 Adam Barth aba...@webkit.org + +TokenPreloadScanner should be able to scan CompactHTMLTokens +https://bugs.webkit.org/show_bug.cgi?id=109861 + +Reviewed by Eric Seidel. + +This patch moves the main scanning logic for the TokenPreloadScanner to +a templated scanCommon routine that can scan either an HTMLToken or a +CompactHTMLToken. This patch will let the BackgroundHTMLParser preload +scan its CompactHTMLTokens. + +* html/parser/CSSPreloadScanner.cpp: +(WebCore): +(WebCore::CSSPreloadScanner::scanCommon): +(WebCore::CSSPreloadScanner::scan): +* html/parser/CSSPreloadScanner.h: +(CSSPreloadScanner): +- Tweak the CSSPreloadScanner API slightly to make it easier to + call from templated code. +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::TokenPreloadScanner::tagIdFor): +(WebCore): +(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): +(TokenPreloadScanner::StartTagScanner): +(WebCore::TokenPreloadScanner::scan): +(WebCore::TokenPreloadScanner::scanCommon): +(WebCore::TokenPreloadScanner::updatePredictedBaseURL): +(WebCore::HTMLPreloadScanner::scan): +* html/parser/HTMLPreloadScanner.h: +(TokenPreloadScanner): + 2013-02-15 Alexis Menard ale...@webkit.org WebKit shouldn't accept none, none in transition shorthand property. Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp (143019 => 143020) --- trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp 2013-02-15 19:06:30 UTC (rev 143019) +++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp 2013-02-15 19:11:38 UTC (rev 143020) @@ -50,22 +50,31 @@ m_ruleValue.clear(); } -void CSSPreloadScanner::scan(const UChar* begin, const UChar* end, VectorOwnPtrPreloadRequest requests) +templatetypename Char +void CSSPreloadScanner::scanCommon(const Char* begin, const Char* end, VectorOwnPtrPreloadRequest requests) { m_requests = requests; -for (const UChar* it = begin; it != end m_state != DoneParsingImportRules; ++it) +for (const Char* it = begin; it != end m_state != DoneParsingImportRules; ++it) tokenize(*it); m_requests = 0; } -void CSSPreloadScanner::scan(const LChar* begin, const LChar* end, VectorOwnPtrPreloadRequest requests) +void CSSPreloadScanner::scan(const HTMLToken::DataVector data, VectorOwnPtrPreloadRequest requests) { -m_requests = requests; -for (const LChar* it = begin; it != end m_state != DoneParsingImportRules; ++it) -tokenize(*it); -m_requests = 0; +scanCommon(data.data(), data.data() + data.size(), requests); } +void CSSPreloadScanner::scan(const String data, VectorOwnPtrPreloadRequest requests) +{ +if (data.is8Bit()) { +const LChar* begin = data.characters8(); +scanCommon(begin, begin + data.length(), requests); +return; +} +const UChar* begin = data.characters16(); +scanCommon(begin, begin + data.length(), requests); +} + inline void CSSPreloadScanner::tokenize(UChar c) { // We are just interested in @import rules, no need for real
[webkit-changes] [143051] trunk/Source/WebCore
Title: [143051] trunk/Source/WebCore Revision 143051 Author aba...@webkit.org Date 2013-02-15 14:14:31 -0800 (Fri, 15 Feb 2013) Log Message Enable the preload scanner on the background parser thread https://bugs.webkit.org/show_bug.cgi?id=108027 Reviewed by Tony Gentilcore. The patch causes us to pass all the fast/preloader tests with the threaded parser enabled. This patch wires up the BackgroundHTMLParser to the TokenPreloadScanner. Currently, we bail out of preload scanning if we encounter a document.write becaues we don't know how to rewind the preload scanner, but that's something we can tune in the future. The BackgroundHTMLParser delivers the preloads to the HTMLDocumentParser together with the token stream. If the HTMLDocumentParser isn't able to use the token stream immediately, it kicks off the preloads. * html/parser/BackgroundHTMLParser.cpp: (WebCore::checkThatPreloadsAreSafeToSendToAnotherThread): (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::resumeFrom): (WebCore::BackgroundHTMLParser::pumpTokenizer): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): * html/parser/BackgroundHTMLParser.h: (Configuration): - We need to add a struct for the create function because the number of arguments exceeds the limits of Functional.h. (BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::create): * html/parser/CSSPreloadScanner.cpp: (WebCore::CSSPreloadScanner::scanCommon): (WebCore::CSSPreloadScanner::scan): (WebCore::CSSPreloadScanner::emitRule): - We need to use a new string here so that the string is safe to send to another thread. * html/parser/CSSPreloadScanner.h: (CSSPreloadScanner): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::startBackgroundParser): - Following the example of the XSSAuditor, we create the TokenPreloadScanner on the main thread and then send it to the background thread for operation. * html/parser/HTMLDocumentParser.h: (WebCore): (ParsedChunk): * html/parser/HTMLParserOptions.h: (HTMLParserOptions): - We need to add a default constructor so that the HTMLDocumentParser can create an empty BackgroundHTMLParser::Configuration struct. * html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::scan): (WebCore::TokenPreloadScanner::scanCommon): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (TokenPreloadScanner): (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread): * html/parser/HTMLResourcePreloader.cpp: (WebCore::HTMLResourcePreloader::takeAndPreload): (WebCore): * html/parser/HTMLResourcePreloader.h: (WebCore::PreloadRequest::PreloadRequest): (WebCore): (HTMLResourcePreloader): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/html/parser/HTMLParserOptions.h trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h Diff Modified: trunk/Source/WebCore/ChangeLog (143050 => 143051) --- trunk/Source/WebCore/ChangeLog 2013-02-15 22:01:04 UTC (rev 143050) +++ trunk/Source/WebCore/ChangeLog 2013-02-15 22:14:31 UTC (rev 143051) @@ -1,3 +1,72 @@ +2013-02-15 Adam Barth aba...@webkit.org + +Enable the preload scanner on the background parser thread +https://bugs.webkit.org/show_bug.cgi?id=108027 + +Reviewed by Tony Gentilcore. + +The patch causes us to pass all the fast/preloader tests with the +threaded parser enabled. + +This patch wires up the BackgroundHTMLParser to the +TokenPreloadScanner. Currently, we bail out of preload scanning if we +encounter a document.write becaues we don't know how to rewind the +preload scanner, but that's something we can tune in the future. + +The BackgroundHTMLParser delivers the preloads to the +HTMLDocumentParser together with the token stream. If the +HTMLDocumentParser isn't able to use the token stream immediately, it +kicks off the preloads. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::checkThatPreloadsAreSafeToSendToAnotherThread): +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::resumeFrom): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +* html/parser/BackgroundHTMLParser.h: +(Configuration): +-
[webkit-changes] [143056] branches/chromium/1410
Title: [143056] branches/chromium/1410 Revision 143056 Author aba...@webkit.org Date 2013-02-15 14:49:58 -0800 (Fri, 15 Feb 2013) Log Message Merge 142492 document.write during window.onload can trigger DumpRenderTree to dump the render tree https://bugs.webkit.org/show_bug.cgi?id=109465 Reviewed by Eric Seidel. Source/WebCore: This patch is a partial revert of http://trac.webkit.org/changeset/142378. It's not safe to call checkComplete during the load event. We'll need to find another way of calling checkComplete at the right time. Test: fast/parser/document-write-during-load.html * dom/Document.cpp: (WebCore::Document::decrementActiveParserCount): LayoutTests: * fast/parser/document-write-during-load-expected.txt: Added. * fast/parser/document-write-during-load.html: Added. TBR=aba...@webkit.org Review URL: https://codereview.chromium.org/12287016 Modified Paths branches/chromium/1410/Source/WebCore/dom/Document.cpp Added Paths branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load-expected.txt branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load.html Diff Copied: branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load-expected.txt (from rev 142492, trunk/LayoutTests/fast/parser/document-write-during-load-expected.txt) (0 => 143056) --- branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load-expected.txt (rev 0) +++ branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load-expected.txt 2013-02-15 22:49:58 UTC (rev 143056) @@ -0,0 +1,3 @@ +ALERT: Ready +ALERT: PASS + Copied: branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load.html (from rev 142492, trunk/LayoutTests/fast/parser/document-write-during-load.html) (0 => 143056) --- branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load.html (rev 0) +++ branches/chromium/1410/LayoutTests/fast/parser/document-write-during-load.html 2013-02-15 22:49:58 UTC (rev 143056) @@ -0,0 +1,16 @@ +!DOCTYPE html +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +div id=parent style=width: 200px; height: 200px; +iframe id=iframe seamless src="" +/div +script +window._onload_ = function () { +window.iframe = document.getElementById(iframe); +alert(Ready); +window.iframe.contentDocument.write(!DOCTYPE htmlhtml style='width: 100px; height: 100px; background-color: green'/html); +alert(PASS); +} +/script Modified: branches/chromium/1410/Source/WebCore/dom/Document.cpp (143055 => 143056) --- branches/chromium/1410/Source/WebCore/dom/Document.cpp 2013-02-15 22:48:00 UTC (rev 143055) +++ branches/chromium/1410/Source/WebCore/dom/Document.cpp 2013-02-15 22:49:58 UTC (rev 143056) @@ -5771,15 +5771,12 @@ bool Document::hasActiveParser() { -return m_activeParserCount || (m_parser m_parser-processingData()); +return m_parser m_parser-processingData(); } void Document::decrementActiveParserCount() { --m_activeParserCount; -if (!frame()) -return; -frame()-loader()-checkLoadComplete(); } void Document::setContextFeatures(PassRefPtrContextFeatures features) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [142796] trunk/Source/WebCore
Title: [142796] trunk/Source/WebCore Revision 142796 Author aba...@webkit.org Date 2013-02-13 14:03:44 -0800 (Wed, 13 Feb 2013) Log Message Clean up some style nits in HTMLPreloadScanner https://bugs.webkit.org/show_bug.cgi?id=109738 Reviewed by Tony Gentilcore. This patch just fixes a few style nits I noticed when reading through the code. * html/parser/HTMLPreloadScanner.cpp: (WebCore::StartTagScanner::StartTagScanner): (WebCore::HTMLPreloadScanner::processPossibleStyleTag): (WebCore::HTMLPreloadScanner::processPossibleBaseTag): * html/parser/HTMLResourcePreloader.cpp: (WebCore::PreloadRequest::isSafeToSendToAnotherThread): * html/parser/HTMLResourcePreloader.h: (PreloadRequest): (WebCore::PreloadRequest::PreloadRequest): (WebCore::HTMLResourcePreloader::HTMLResourcePreloader): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h Diff Modified: trunk/Source/WebCore/ChangeLog (142795 => 142796) --- trunk/Source/WebCore/ChangeLog 2013-02-13 22:02:51 UTC (rev 142795) +++ trunk/Source/WebCore/ChangeLog 2013-02-13 22:03:44 UTC (rev 142796) @@ -1,3 +1,24 @@ +2013-02-13 Adam Barth aba...@webkit.org + +Clean up some style nits in HTMLPreloadScanner +https://bugs.webkit.org/show_bug.cgi?id=109738 + +Reviewed by Tony Gentilcore. + +This patch just fixes a few style nits I noticed when reading through +the code. + +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::StartTagScanner::StartTagScanner): +(WebCore::HTMLPreloadScanner::processPossibleStyleTag): +(WebCore::HTMLPreloadScanner::processPossibleBaseTag): +* html/parser/HTMLResourcePreloader.cpp: +(WebCore::PreloadRequest::isSafeToSendToAnotherThread): +* html/parser/HTMLResourcePreloader.h: +(PreloadRequest): +(WebCore::PreloadRequest::PreloadRequest): +(WebCore::HTMLResourcePreloader::HTMLResourcePreloader): + 2013-02-13 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r142747. Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (142795 => 142796) --- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-13 22:02:51 UTC (rev 142795) +++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-13 22:03:44 UTC (rev 142796) @@ -55,7 +55,7 @@ class StartTagScanner { public: -explicit StartTagScanner(const AtomicString tagName, const HTMLToken::AttributeList attributes) +StartTagScanner(const AtomicString tagName, const HTMLToken::AttributeList attributes) : m_tagName(tagName) , m_linkIsStyleSheet(false) , m_linkMediaAttributeIsScreen(true) @@ -245,34 +245,36 @@ bool HTMLPreloadScanner::processPossibleStyleTag(const AtomicString tagName, const HTMLToken token) { ASSERT(isStartOrEndTag(token)); -if (tagName == styleTag) { -m_inStyle = isStartTag(token); -if (!m_inStyle) -m_cssScanner.reset(); -return true; -} -return false; +if (tagName != styleTag) +return false; + +m_inStyle = isStartTag(token); + +if (!m_inStyle) +m_cssScanner.reset(); + +return true; } bool HTMLPreloadScanner::processPossibleBaseTag(const AtomicString tagName, const HTMLToken token) { ASSERT(isStartTag(token)); -if (tagName == baseTag) { -// The first base element is the one that wins. -if (!m_predictedBaseElementURL.isEmpty()) -return true; +if (tagName != baseTag) +return false; -for (HTMLToken::AttributeList::const_iterator iter = token.attributes().begin(); iter != token.attributes().end(); ++iter) { -AtomicString attributeName(iter-name); -if (attributeName == hrefAttr) { -String hrefValue = StringImpl::create8BitIfPossible(iter-value); -m_predictedBaseElementURL = KURL(m_documentURL, stripLeadingAndTrailingHTMLSpaces(hrefValue)); -break; -} +// The first base element is the one that wins. +if (!m_predictedBaseElementURL.isEmpty()) +return true; + +for (HTMLToken::AttributeList::const_iterator iter = token.attributes().begin(); iter != token.attributes().end(); ++iter) { +AtomicString attributeName(iter-name); +if (attributeName == hrefAttr) { +String hrefValue = StringImpl::create8BitIfPossible(iter-value); +m_predictedBaseElementURL = KURL(m_documentURL, stripLeadingAndTrailingHTMLSpaces(hrefValue)); +break; } -return true; } -return false; +return true; } void HTMLPreloadScanner::processToken(const HTMLToken token, VectorOwnPtrPreloadRequest requests) Modified: trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp (142795 => 142796) ---
[webkit-changes] [142803] trunk/Source/WebCore
Title: [142803] trunk/Source/WebCore Revision 142803 Author aba...@webkit.org Date 2013-02-13 14:40:27 -0800 (Wed, 13 Feb 2013) Log Message CSSPreloadScanner should not depend on HTMLToken https://bugs.webkit.org/show_bug.cgi?id=109742 Reviewed by Eric Seidel. There's no need for the CSSPreloadScanner to depend on HTMLToken. On the background thread, we'll likely want to use a CompactHTMLToken for preload scanning, so this dependency is problematic. This patch also teaches the CSSPreloadScanner how to scan LChars. * html/parser/CSSPreloadScanner.cpp: (WebCore::CSSPreloadScanner::~CSSPreloadScanner): (WebCore): (WebCore::CSSPreloadScanner::scan): * html/parser/CSSPreloadScanner.h: (CSSPreloadScanner): * html/parser/HTMLPreloadScanner.cpp: (WebCore::HTMLPreloadScanner::processToken): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp trunk/Source/WebCore/html/parser/CSSPreloadScanner.h trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (142802 => 142803) --- trunk/Source/WebCore/ChangeLog 2013-02-13 22:39:44 UTC (rev 142802) +++ trunk/Source/WebCore/ChangeLog 2013-02-13 22:40:27 UTC (rev 142803) @@ -1,3 +1,24 @@ +2013-02-13 Adam Barth aba...@webkit.org + +CSSPreloadScanner should not depend on HTMLToken +https://bugs.webkit.org/show_bug.cgi?id=109742 + +Reviewed by Eric Seidel. + +There's no need for the CSSPreloadScanner to depend on HTMLToken. On +the background thread, we'll likely want to use a CompactHTMLToken for +preload scanning, so this dependency is problematic. This patch also +teaches the CSSPreloadScanner how to scan LChars. + +* html/parser/CSSPreloadScanner.cpp: +(WebCore::CSSPreloadScanner::~CSSPreloadScanner): +(WebCore): +(WebCore::CSSPreloadScanner::scan): +* html/parser/CSSPreloadScanner.h: +(CSSPreloadScanner): +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::HTMLPreloadScanner::processToken): + 2013-02-13 Julien Chaffraix jchaffr...@webkit.org [CSS Grid Layout] Adding or removing grid items doesn't properly recompute the track sizes Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp (142802 => 142803) --- trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp 2013-02-13 22:39:44 UTC (rev 142802) +++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp 2013-02-13 22:40:27 UTC (rev 142803) @@ -28,14 +28,8 @@ #include config.h #include CSSPreloadScanner.h -#include CachedCSSStyleSheet.h -#include CachedResourceLoader.h -#include CachedResourceRequest.h #include CachedResourceRequestInitiators.h #include HTMLParserIdioms.h -#include HTMLToken.h -#include wtf/Functional.h -#include wtf/MainThread.h namespace WebCore { @@ -45,6 +39,10 @@ { } +CSSPreloadScanner::~CSSPreloadScanner() +{ +} + void CSSPreloadScanner::reset() { m_state = Initial; @@ -52,15 +50,22 @@ m_ruleValue.clear(); } -void CSSPreloadScanner::scan(const HTMLToken token, VectorOwnPtrPreloadRequest requests) +void CSSPreloadScanner::scan(const UChar* begin, const UChar* end, VectorOwnPtrPreloadRequest requests) { m_requests = requests; -const HTMLToken::DataVector characters = token.characters(); -for (HTMLToken::DataVector::const_iterator iter = characters.begin(); iter != characters.end() m_state != DoneParsingImportRules; ++iter) -tokenize(*iter); +for (const UChar* it = begin; it != end m_state != DoneParsingImportRules; ++it) +tokenize(*it); m_requests = 0; } +void CSSPreloadScanner::scan(const LChar* begin, const LChar* end, VectorOwnPtrPreloadRequest requests) +{ +m_requests = requests; +for (const LChar* it = begin; it != end m_state != DoneParsingImportRules; ++it) +tokenize(*it); +m_requests = 0; +} + inline void CSSPreloadScanner::tokenize(UChar c) { // We are just interested in @import rules, no need for real tokenization here Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.h (142802 => 142803) --- trunk/Source/WebCore/html/parser/CSSPreloadScanner.h 2013-02-13 22:39:44 UTC (rev 142802) +++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.h 2013-02-13 22:40:27 UTC (rev 142803) @@ -28,21 +28,21 @@ #define CSSPreloadScanner_h #include HTMLResourcePreloader.h -#include wtf/WeakPtr.h #include wtf/text/StringBuilder.h namespace WebCore { -class HTMLToken; - class CSSPreloadScanner { WTF_MAKE_NONCOPYABLE(CSSPreloadScanner); public: -explicit CSSPreloadScanner(); +CSSPreloadScanner(); +~CSSPreloadScanner(); void reset(); -void scan(const HTMLToken, VectorOwnPtrPreloadRequest requests); +void scan(const UChar* begin, const UChar* end, VectorOwnPtrPreloadRequest ); +void scan(const LChar* begin, const LChar* end, VectorOwnPtrPreloadRequest ); + private: enum State {
[webkit-changes] [142807] trunk/Source/WebKit2
Title: [142807] trunk/Source/WebKit2 Revision 142807 Author aba...@webkit.org Date 2013-02-13 14:54:11 -0800 (Wed, 13 Feb 2013) Log Message Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad https://bugs.webkit.org/show_bug.cgi?id=109733 Reviewed by Sam Weinig. After http://trac.webkit.org/changeset/142555, this ASSERT is triggering on these tests: fast/dom/window-load-crash.html fast/frames/seamless/seamless-hyperlink-named.html fast/frames/seamless/seamless-hyperlink.html The ASSERT appears to be bogus. This patch removes it. * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::didStartProvisionalLoad): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (142806 => 142807) --- trunk/Source/WebKit2/ChangeLog 2013-02-13 22:46:05 UTC (rev 142806) +++ trunk/Source/WebKit2/ChangeLog 2013-02-13 22:54:11 UTC (rev 142807) @@ -1,3 +1,22 @@ +2013-02-13 Adam Barth aba...@webkit.org + +Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad +https://bugs.webkit.org/show_bug.cgi?id=109733 + +Reviewed by Sam Weinig. + +After http://trac.webkit.org/changeset/142555, this ASSERT is +triggering on these tests: + +fast/dom/window-load-crash.html +fast/frames/seamless/seamless-hyperlink-named.html +fast/frames/seamless/seamless-hyperlink.html + +The ASSERT appears to be bogus. This patch removes it. + +* UIProcess/WebFrameProxy.cpp: +(WebKit::WebFrameProxy::didStartProvisionalLoad): + 2013-02-13 Sam Weinig s...@webkit.org Consolidate main functions in WebKit2 now that they are all identical Modified: trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp (142806 => 142807) --- trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp 2013-02-13 22:46:05 UTC (rev 142806) +++ trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp 2013-02-13 22:54:11 UTC (rev 142807) @@ -129,7 +129,6 @@ void WebFrameProxy::didStartProvisionalLoad(const String url) { -ASSERT(m_loadState == LoadStateFinished); ASSERT(m_provisionalURL.isEmpty()); m_loadState = LoadStateProvisional; m_provisionalURL = url; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [142822] trunk/Source/WebCore
Title: [142822] trunk/Source/WebCore Revision 142822 Author aba...@webkit.org Date 2013-02-13 16:56:47 -0800 (Wed, 13 Feb 2013) Log Message Factor HTMLTokenScanner out of HTMLPreloadScanner https://bugs.webkit.org/show_bug.cgi?id=109754 Reviewed by Eric Seidel. This patch is just a mechanical separation of the per-token scanning logic from HTMLPreloadScanner into a separate class. HTMLPreloadScanner's job is now to keep track of the input stream and to pump the tokenizer. This factorization class will let us use HTMLTokenScanner on the background thread (once we finish making it thread-safe). In a follow up patch, I'll move HTMLTokenScanner to its own file. * html/parser/HTMLPreloadScanner.cpp: (WebCore::HTMLTokenScanner::HTMLTokenScanner): (WebCore::HTMLTokenScanner::~HTMLTokenScanner): (WebCore::HTMLTokenScanner::processPossibleTemplateTag): (WebCore::HTMLTokenScanner::processPossibleStyleTag): (WebCore::HTMLTokenScanner::processPossibleBaseTag): (WebCore::HTMLTokenScanner::scan): (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): (WebCore): (WebCore::HTMLPreloadScanner::~HTMLPreloadScanner): (WebCore::HTMLPreloadScanner::appendToEnd): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (HTMLTokenScanner): (WebCore::HTMLTokenScanner::setPredictedBaseElementURL): (HTMLPreloadScanner): (WebCore): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h Diff Modified: trunk/Source/WebCore/ChangeLog (142821 => 142822) --- trunk/Source/WebCore/ChangeLog 2013-02-14 00:37:59 UTC (rev 142821) +++ trunk/Source/WebCore/ChangeLog 2013-02-14 00:56:47 UTC (rev 142822) @@ -1,3 +1,37 @@ +2013-02-13 Adam Barth aba...@webkit.org + +Factor HTMLTokenScanner out of HTMLPreloadScanner +https://bugs.webkit.org/show_bug.cgi?id=109754 + +Reviewed by Eric Seidel. + +This patch is just a mechanical separation of the per-token scanning +logic from HTMLPreloadScanner into a separate class. +HTMLPreloadScanner's job is now to keep track of the input stream and +to pump the tokenizer. + +This factorization class will let us use HTMLTokenScanner on the +background thread (once we finish making it thread-safe). In a follow +up patch, I'll move HTMLTokenScanner to its own file. + +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::HTMLTokenScanner::HTMLTokenScanner): +(WebCore::HTMLTokenScanner::~HTMLTokenScanner): +(WebCore::HTMLTokenScanner::processPossibleTemplateTag): +(WebCore::HTMLTokenScanner::processPossibleStyleTag): +(WebCore::HTMLTokenScanner::processPossibleBaseTag): +(WebCore::HTMLTokenScanner::scan): +(WebCore::HTMLPreloadScanner::HTMLPreloadScanner): +(WebCore): +(WebCore::HTMLPreloadScanner::~HTMLPreloadScanner): +(WebCore::HTMLPreloadScanner::appendToEnd): +(WebCore::HTMLPreloadScanner::scan): +* html/parser/HTMLPreloadScanner.h: +(HTMLTokenScanner): +(WebCore::HTMLTokenScanner::setPredictedBaseElementURL): +(HTMLPreloadScanner): +(WebCore): + 2013-02-13 Elliott Sprehn espr...@chromium.org ASSERT(!renderer()-needsLayout()) when calling Element::focus() with generated content Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (142821 => 142822) --- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 00:37:59 UTC (rev 142821) +++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 00:56:47 UTC (rev 142822) @@ -191,44 +191,21 @@ bool m_inputIsImage; }; -HTMLPreloadScanner::HTMLPreloadScanner(const HTMLParserOptions options, const KURL documentURL) -: m_tokenizer(HTMLTokenizer::create(options)) +TokenPreloadScanner::TokenPreloadScanner(const KURL documentURL) +: m_documentURL(documentURL) , m_inStyle(false) -, m_documentURL(documentURL) #if ENABLE(TEMPLATE_ELEMENT) , m_templateCount(0) #endif { } -void HTMLPreloadScanner::appendToEnd(const SegmentedString source) +TokenPreloadScanner::~TokenPreloadScanner() { -m_source.append(source); } -// This function exists for convenience on the main thread and is not used by the background-thread preload scanner. -void HTMLPreloadScanner::scan(HTMLResourcePreloader* preloader, const KURL startingBaseElementURL) -{ -ASSERT(isMainThread()); // HTMLTokenizer::updateStateFor only works on the main thread. -// When we start scanning, our best prediction of the baseElementURL is the real one! -if (!startingBaseElementURL.isEmpty()) -m_predictedBaseElementURL = startingBaseElementURL; - -VectorOwnPtrPreloadRequest requests; -// Note: m_token is only used from this function and for the main thread. -// All other functions are passed a token. -while (m_tokenizer-nextToken(m_source, m_token)) { -
[webkit-changes] [142840] trunk/Source/WebCore
Title: [142840] trunk/Source/WebCore Revision 142840 Author aba...@webkit.org Date 2013-02-13 18:16:23 -0800 (Wed, 13 Feb 2013) Log Message StartTagScanner should be thread-safe https://bugs.webkit.org/show_bug.cgi?id=109750 Reviewed by Eric Seidel. This patch weens the StartTagScanner off AtomicString using two techniques: 1) This patch creates an enum to represent the four tag names that the StartTagScanner needs to understand. Using an enum is better than using an AtomicString because we can use the enum on both the main thread and on the background thread. 2) For attributes, this patch uses threadSafeMatch. We're not able to use threadSafeMatch everywhere due to performance, but using it for attributes appears to be ok becaues we only call threadSafeMatch on the attributes of interesting tags. I tested the performance of this patch using PerformanceTests/Parser/html-parser.html and did not see any slowdown. (There actually appeared to be a 1% speedup, but I'm attributing that to noise.) * html/parser/HTMLPreloadScanner.cpp: (WebCore::identifierFor): (WebCore): (WebCore::inititatorFor): (WebCore::StartTagScanner::StartTagScanner): (WebCore::StartTagScanner::processAttributes): (StartTagScanner): (WebCore::StartTagScanner::createPreloadRequest): (WebCore::StartTagScanner::processAttribute): (WebCore::StartTagScanner::charset): (WebCore::StartTagScanner::resourceType): (WebCore::StartTagScanner::shouldPreload): (WebCore::HTMLPreloadScanner::processToken): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (142839 => 142840) --- trunk/Source/WebCore/ChangeLog 2013-02-14 02:11:39 UTC (rev 142839) +++ trunk/Source/WebCore/ChangeLog 2013-02-14 02:16:23 UTC (rev 142840) @@ -1,3 +1,42 @@ +2013-02-13 Adam Barth aba...@webkit.org + +StartTagScanner should be thread-safe +https://bugs.webkit.org/show_bug.cgi?id=109750 + +Reviewed by Eric Seidel. + +This patch weens the StartTagScanner off AtomicString using two +techniques: + +1) This patch creates an enum to represent the four tag names that the + StartTagScanner needs to understand. Using an enum is better than + using an AtomicString because we can use the enum on both the main + thread and on the background thread. + +2) For attributes, this patch uses threadSafeMatch. We're not able to + use threadSafeMatch everywhere due to performance, but using it for + attributes appears to be ok becaues we only call threadSafeMatch on + the attributes of interesting tags. + +I tested the performance of this patch using +PerformanceTests/Parser/html-parser.html and did not see any slowdown. +(There actually appeared to be a 1% speedup, but I'm attributing that +to noise.) + +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::identifierFor): +(WebCore): +(WebCore::inititatorFor): +(WebCore::StartTagScanner::StartTagScanner): +(WebCore::StartTagScanner::processAttributes): +(StartTagScanner): +(WebCore::StartTagScanner::createPreloadRequest): +(WebCore::StartTagScanner::processAttribute): +(WebCore::StartTagScanner::charset): +(WebCore::StartTagScanner::resourceType): +(WebCore::StartTagScanner::shouldPreload): +(WebCore::HTMLPreloadScanner::processToken): + 2013-02-13 Huang Dongsung luxte...@company100.net Coordinated Graphics: a long page is scaled vertically while loading. Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (142839 => 142840) --- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 02:11:39 UTC (rev 142839) +++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 02:16:23 UTC (rev 142840) @@ -53,51 +53,104 @@ return token.type() == HTMLToken::EndTag || isStartTag(token); } +enum HTMLTagIdentifier { +ImgTagId, +InputTagId, +LinkTagId, +ScriptTagId, +UnknownTagId, +}; + +static HTMLTagIdentifier identifierFor(const AtomicString tagName) +{ +if (tagName == imgTag) +return ImgTagId; +if (tagName == inputTag) +return InputTagId; +if (tagName == linkTag) +return LinkTagId; +if (tagName == scriptTag) +return ScriptTagId; +return UnknownTagId; +} + +static String inititatorFor(HTMLTagIdentifier tagId) +{ +switch (tagId) { +case ImgTagId: +return img; +case InputTagId: +return input; +case LinkTagId: +return link; +case ScriptTagId: +return script; +case UnknownTagId: +ASSERT_NOT_REACHED(); +return unknown; +} +ASSERT_NOT_REACHED(); +return unknown; +} + class StartTagScanner { public: -StartTagScanner(const AtomicString tagName, const
[webkit-changes] [142843] trunk/Source/WebCore
Title: [142843] trunk/Source/WebCore Revision 142843 Author aba...@webkit.org Date 2013-02-13 19:31:58 -0800 (Wed, 13 Feb 2013) Log Message TokenPreloadScanner should be (mostly!) thread-safe https://bugs.webkit.org/show_bug.cgi?id=109760 Reviewed by Eric Seidel. This patch makes the bulk of TokenPreloadScanner thread-safe. The one remaining wart is processPossibleBaseTag because it wants to grub around in the base tag's attributes. I have a plan for that, but it's going to need to wait for the next patch. * html/parser/HTMLPreloadScanner.cpp: (WebCore::isStartTag): (WebCore::isStartOrEndTag): (WebCore::TokenPreloadScanner::identifierFor): (WebCore::TokenPreloadScanner::inititatorFor): (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): (TokenPreloadScanner::StartTagScanner): (WebCore::TokenPreloadScanner::processPossibleTemplateTag): (WebCore::TokenPreloadScanner::processPossibleStyleTag): (WebCore::TokenPreloadScanner::processPossibleBaseTag): (WebCore::TokenPreloadScanner::scan): (WebCore::HTMLPreloadScanner::scan): * html/parser/HTMLPreloadScanner.h: (WebCore): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h Diff Modified: trunk/Source/WebCore/ChangeLog (142842 => 142843) --- trunk/Source/WebCore/ChangeLog 2013-02-14 02:36:01 UTC (rev 142842) +++ trunk/Source/WebCore/ChangeLog 2013-02-14 03:31:58 UTC (rev 142843) @@ -1,5 +1,33 @@ 2013-02-13 Adam Barth aba...@webkit.org +TokenPreloadScanner should be (mostly!) thread-safe +https://bugs.webkit.org/show_bug.cgi?id=109760 + +Reviewed by Eric Seidel. + +This patch makes the bulk of TokenPreloadScanner thread-safe. The one +remaining wart is processPossibleBaseTag because it wants to grub +around in the base tag's attributes. I have a plan for that, but it's +going to need to wait for the next patch. + +* html/parser/HTMLPreloadScanner.cpp: +(WebCore::isStartTag): +(WebCore::isStartOrEndTag): +(WebCore::TokenPreloadScanner::identifierFor): +(WebCore::TokenPreloadScanner::inititatorFor): +(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): +(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): +(TokenPreloadScanner::StartTagScanner): +(WebCore::TokenPreloadScanner::processPossibleTemplateTag): +(WebCore::TokenPreloadScanner::processPossibleStyleTag): +(WebCore::TokenPreloadScanner::processPossibleBaseTag): +(WebCore::TokenPreloadScanner::scan): +(WebCore::HTMLPreloadScanner::scan): +* html/parser/HTMLPreloadScanner.h: +(WebCore): + +2013-02-13 Adam Barth aba...@webkit.org + StartTagScanner should be thread-safe https://bugs.webkit.org/show_bug.cgi?id=109750 Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (142842 => 142843) --- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 02:36:01 UTC (rev 142842) +++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp 2013-02-14 03:31:58 UTC (rev 142843) @@ -43,25 +43,17 @@ using namespace HTMLNames; -static bool isStartTag(const HTMLToken token) +static bool isStartTag(HTMLToken::Type type) { -return token.type() == HTMLToken::StartTag; +return type == HTMLToken::StartTag; } -static bool isStartOrEndTag(const HTMLToken token) +static bool isStartOrEndTag(HTMLToken::Type type) { -return token.type() == HTMLToken::EndTag || isStartTag(token); +return type == HTMLToken::EndTag || isStartTag(type); } -enum HTMLTagIdentifier { -ImgTagId, -InputTagId, -LinkTagId, -ScriptTagId, -UnknownTagId, -}; - -static HTMLTagIdentifier identifierFor(const AtomicString tagName) +TokenPreloadScanner::TagId TokenPreloadScanner::identifierFor(const AtomicString tagName) { if (tagName == imgTag) return ImgTagId; @@ -71,10 +63,16 @@ return LinkTagId; if (tagName == scriptTag) return ScriptTagId; +if (tagName == styleTag) +return StyleTagId; +if (tagName == baseTag) +return BaseTagId; +if (tagName == templateTag) +return TemplateTagId; return UnknownTagId; } -static String inititatorFor(HTMLTagIdentifier tagId) +String TokenPreloadScanner::inititatorFor(TagId tagId) { switch (tagId) { case ImgTagId: @@ -86,6 +84,9 @@ case ScriptTagId: return script; case UnknownTagId: +case StyleTagId: +case BaseTagId: +case TemplateTagId: ASSERT_NOT_REACHED(); return unknown; } @@ -93,9 +94,9 @@ return unknown; } -class StartTagScanner { +class TokenPreloadScanner::StartTagScanner { public: -explicit StartTagScanner(HTMLTagIdentifier tagId) +explicit StartTagScanner(TagId
[webkit-changes] [142648] trunk/Source/WebCore
Title: [142648] trunk/Source/WebCore Revision 142648 Author aba...@webkit.org Date 2013-02-12 11:39:38 -0800 (Tue, 12 Feb 2013) Log Message BackgroundHTMLParser::resumeFrom should take a struct https://bugs.webkit.org/show_bug.cgi?id=109598 Reviewed by Eric Seidel. This patch is purely a syntatic change that paves the way for fixing the partial-entity document.write tests. To fix those tests, we'll need to pass more information to resumeFrom, but we're hitting the argument limits in Functional.h. Rather than adding yet more arguments, this patch moves to a single argument that's a struct. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::resumeFrom): * html/parser/BackgroundHTMLParser.h: (Checkpoint): (BackgroundHTMLParser): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::didFailSpeculation): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (142647 => 142648) --- trunk/Source/WebCore/ChangeLog 2013-02-12 19:35:01 UTC (rev 142647) +++ trunk/Source/WebCore/ChangeLog 2013-02-12 19:39:38 UTC (rev 142648) @@ -1,3 +1,24 @@ +2013-02-12 Adam Barth aba...@webkit.org + +BackgroundHTMLParser::resumeFrom should take a struct +https://bugs.webkit.org/show_bug.cgi?id=109598 + +Reviewed by Eric Seidel. + +This patch is purely a syntatic change that paves the way for fixing +the partial-entity document.write tests. To fix those tests, we'll need +to pass more information to resumeFrom, but we're hitting the argument +limits in Functional.h. Rather than adding yet more arguments, this +patch moves to a single argument that's a struct. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::resumeFrom): +* html/parser/BackgroundHTMLParser.h: +(Checkpoint): +(BackgroundHTMLParser): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::didFailSpeculation): + 2013-02-12 Elliott Sprehn espr...@chromium.org rootRenderer in FrameView is really RenderView Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (142647 => 142648) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-02-12 19:35:01 UTC (rev 142647) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-02-12 19:39:38 UTC (rev 142648) @@ -76,12 +76,12 @@ pumpTokenizer(); } -void BackgroundHTMLParser::resumeFrom(const WeakPtrHTMLDocumentParser parser, PassOwnPtrHTMLToken token, PassOwnPtrHTMLTokenizer tokenizer, HTMLInputCheckpoint checkpoint) +void BackgroundHTMLParser::resumeFrom(PassOwnPtrCheckpoint checkpoint) { -m_parser = parser; -m_token = token; -m_tokenizer = tokenizer; -m_input.rewindTo(checkpoint); +m_parser = checkpoint-parser; +m_token = checkpoint-token.release(); +m_tokenizer = checkpoint-tokenizer.release(); +m_input.rewindTo(checkpoint-inputCheckpoint); pumpTokenizer(); } Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h (142647 => 142648) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-02-12 19:35:01 UTC (rev 142647) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-02-12 19:39:38 UTC (rev 142648) @@ -53,8 +53,15 @@ // Caller must free by calling stop(). } +struct Checkpoint { +WeakPtrHTMLDocumentParser parser; +OwnPtrHTMLToken token; +OwnPtrHTMLTokenizer tokenizer; +HTMLInputCheckpoint inputCheckpoint; +}; + void append(const String); -void resumeFrom(const WeakPtrHTMLDocumentParser, PassOwnPtrHTMLToken, PassOwnPtrHTMLTokenizer, HTMLInputCheckpoint); +void resumeFrom(PassOwnPtrCheckpoint); void finish(); void stop(); Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (142647 => 142648) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-12 19:35:01 UTC (rev 142647) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-12 19:39:38 UTC (rev 142648) @@ -307,8 +307,13 @@ m_weakFactory.revokeAll(); m_speculations.clear(); -HTMLParserThread::shared()-postTask(bind(BackgroundHTMLParser::resumeFrom, -m_backgroundParser, m_weakFactory.createWeakPtr(), token, tokenizer, m_currentChunk-checkpoint)); +OwnPtrBackgroundHTMLParser::Checkpoint checkpoint = adoptPtr(new BackgroundHTMLParser::Checkpoint); +checkpoint-parser = m_weakFactory.createWeakPtr(); +checkpoint-token = token; +checkpoint-tokenizer = tokenizer; +checkpoint-inputCheckpoint = m_currentChunk-checkpoint; + +HTMLParserThread::shared()-postTask(bind(BackgroundHTMLParser::resumeFrom, m_backgroundParser, checkpoint.release())); } void
[webkit-changes] [142673] trunk/Source/WebCore
Title: [142673] trunk/Source/WebCore Revision 142673 Author aba...@webkit.org Date 2013-02-12 14:44:25 -0800 (Tue, 12 Feb 2013) Log Message Threaded HTML parser should pass the remaining fast/tokenizer tests https://bugs.webkit.org/show_bug.cgi?id=109607 Reviewed by Eric Seidel. This patch fixes some edge cases involving document.write. Previously, we would drop input characters on the floor if the tokenizer wasn't able to consume them synchronously. In this patch, we send the unparsed characters to the background thread for consumption after rewinding the input stream. * html/parser/BackgroundHTMLInputStream.cpp: (WebCore::BackgroundHTMLInputStream::rewindTo): * html/parser/BackgroundHTMLInputStream.h: (BackgroundHTMLInputStream): * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::resumeFrom): * html/parser/BackgroundHTMLParser.h: (Checkpoint): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::canTakeNextToken): (WebCore::HTMLDocumentParser::didFailSpeculation): (WebCore::HTMLDocumentParser::pumpTokenizer): (WebCore::HTMLDocumentParser::finish): * html/parser/HTMLInputStream.h: (WebCore::HTMLInputStream::closeWithoutMarkingEndOfFile): (HTMLInputStream): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLInputStream.h Diff Modified: trunk/Source/WebCore/ChangeLog (142672 => 142673) --- trunk/Source/WebCore/ChangeLog 2013-02-12 22:17:36 UTC (rev 142672) +++ trunk/Source/WebCore/ChangeLog 2013-02-12 22:44:25 UTC (rev 142673) @@ -1,3 +1,33 @@ +2013-02-12 Adam Barth aba...@webkit.org + +Threaded HTML parser should pass the remaining fast/tokenizer tests +https://bugs.webkit.org/show_bug.cgi?id=109607 + +Reviewed by Eric Seidel. + +This patch fixes some edge cases involving document.write. Previously, +we would drop input characters on the floor if the tokenizer wasn't +able to consume them synchronously. In this patch, we send the unparsed +characters to the background thread for consumption after rewinding the +input stream. + +* html/parser/BackgroundHTMLInputStream.cpp: +(WebCore::BackgroundHTMLInputStream::rewindTo): +* html/parser/BackgroundHTMLInputStream.h: +(BackgroundHTMLInputStream): +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::resumeFrom): +* html/parser/BackgroundHTMLParser.h: +(Checkpoint): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::canTakeNextToken): +(WebCore::HTMLDocumentParser::didFailSpeculation): +(WebCore::HTMLDocumentParser::pumpTokenizer): +(WebCore::HTMLDocumentParser::finish): +* html/parser/HTMLInputStream.h: +(WebCore::HTMLInputStream::closeWithoutMarkingEndOfFile): +(HTMLInputStream): + 2013-02-12 Csaba Osztrogonác o...@webkit.org Unreviewed buildfix for !ENABLE(INSPECTOR) platforms after r142654. Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp (142672 => 142673) --- trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp 2013-02-12 22:17:36 UTC (rev 142672) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp 2013-02-12 22:44:25 UTC (rev 142673) @@ -53,18 +53,28 @@ return checkpoint; } -void BackgroundHTMLInputStream::rewindTo(HTMLInputCheckpoint checkpointIndex) +void BackgroundHTMLInputStream::rewindTo(HTMLInputCheckpoint checkpointIndex, const String unparsedInput) { +ASSERT(checkpointIndex m_checkpoints.size()); // If this ASSERT fires, checkpointIndex is invalid. const Checkpoint checkpoint = m_checkpoints[checkpointIndex]; bool isClosed = m_current.isClosed(); m_current = checkpoint.input; + for (size_t i = checkpoint.numberOfSegmentsAlreadyAppended; i m_segments.size(); ++i) m_current.append(SegmentedString(m_segments[i])); +if (!unparsedInput.isEmpty()) +m_current.prepend(SegmentedString(unparsedInput)); + if (isClosed !m_current.isClosed()) m_current.close(); + +// FIXME: We should be able to actively invalidate all the outstanding checkpoints +// by clearing m_segments and m_checkpoints, but that causes +// fast/tokenizer/write-before-load.html to hit the ASSERT at the beginning of +// this function. } } Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h (142672 => 142673) --- trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h 2013-02-12 22:17:36 UTC (rev 142672) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h 2013-02-12 22:44:25 UTC (rev
[webkit-changes] [142492] trunk
Title: [142492] trunk Revision 142492 Author aba...@webkit.org Date 2013-02-11 11:48:56 -0800 (Mon, 11 Feb 2013) Log Message document.write during window.onload can trigger DumpRenderTree to dump the render tree https://bugs.webkit.org/show_bug.cgi?id=109465 Reviewed by Eric Seidel. Source/WebCore: This patch is a partial revert of http://trac.webkit.org/changeset/142378. It's not safe to call checkComplete during the load event. We'll need to find another way of calling checkComplete at the right time. Test: fast/parser/document-write-during-load.html * dom/Document.cpp: (WebCore::Document::decrementActiveParserCount): LayoutTests: * fast/parser/document-write-during-load-expected.txt: Added. * fast/parser/document-write-during-load.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp Added Paths trunk/LayoutTests/fast/parser/document-write-during-load-expected.txt trunk/LayoutTests/fast/parser/document-write-during-load.html Diff Modified: trunk/LayoutTests/ChangeLog (142491 => 142492) --- trunk/LayoutTests/ChangeLog 2013-02-11 19:21:10 UTC (rev 142491) +++ trunk/LayoutTests/ChangeLog 2013-02-11 19:48:56 UTC (rev 142492) @@ -1,3 +1,13 @@ +2013-02-11 Adam Barth aba...@webkit.org + +document.write during window.onload can trigger DumpRenderTree to dump the render tree +https://bugs.webkit.org/show_bug.cgi?id=109465 + +Reviewed by Eric Seidel. + +* fast/parser/document-write-during-load-expected.txt: Added. +* fast/parser/document-write-during-load.html: Added. + 2013-02-11 Christophe Dumez ch.du...@sisa.samsung.com Unreviewed EFL gardening. Added: trunk/LayoutTests/fast/parser/document-write-during-load-expected.txt (0 => 142492) --- trunk/LayoutTests/fast/parser/document-write-during-load-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-during-load-expected.txt 2013-02-11 19:48:56 UTC (rev 142492) @@ -0,0 +1,3 @@ +ALERT: Ready +ALERT: PASS + Added: trunk/LayoutTests/fast/parser/document-write-during-load.html (0 => 142492) --- trunk/LayoutTests/fast/parser/document-write-during-load.html (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-during-load.html 2013-02-11 19:48:56 UTC (rev 142492) @@ -0,0 +1,16 @@ +!DOCTYPE html +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +div id=parent style=width: 200px; height: 200px; +iframe id=iframe seamless src="" +/div +script +window._onload_ = function () { +window.iframe = document.getElementById(iframe); +alert(Ready); +window.iframe.contentDocument.write(!DOCTYPE htmlhtml style='width: 100px; height: 100px; background-color: green'/html); +alert(PASS); +} +/script Modified: trunk/Source/WebCore/ChangeLog (142491 => 142492) --- trunk/Source/WebCore/ChangeLog 2013-02-11 19:21:10 UTC (rev 142491) +++ trunk/Source/WebCore/ChangeLog 2013-02-11 19:48:56 UTC (rev 142492) @@ -1,3 +1,20 @@ +2013-02-11 Adam Barth aba...@webkit.org + +document.write during window.onload can trigger DumpRenderTree to dump the render tree +https://bugs.webkit.org/show_bug.cgi?id=109465 + +Reviewed by Eric Seidel. + +This patch is a partial revert of +http://trac.webkit.org/changeset/142378. It's not safe to call +checkComplete during the load event. We'll need to find another way of +calling checkComplete at the right time. + +Test: fast/parser/document-write-during-load.html + +* dom/Document.cpp: +(WebCore::Document::decrementActiveParserCount): + 2013-02-11 Andrey Kosyakov ca...@chromium.org Web Inspector: Timeline: invalidate and force locations are same for Layout records caused by style recalculaiton Modified: trunk/Source/WebCore/dom/Document.cpp (142491 => 142492) --- trunk/Source/WebCore/dom/Document.cpp 2013-02-11 19:21:10 UTC (rev 142491) +++ trunk/Source/WebCore/dom/Document.cpp 2013-02-11 19:48:56 UTC (rev 142492) @@ -5771,15 +5771,12 @@ bool Document::hasActiveParser() { -return m_activeParserCount || (m_parser m_parser-processingData()); +return m_parser m_parser-processingData(); } void Document::decrementActiveParserCount() { --m_activeParserCount; -if (!frame()) -return; -frame()-loader()-checkLoadComplete(); } void Document::setContextFeatures(PassRefPtrContextFeatures features) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [142510] trunk/LayoutTests
Title: [142510] trunk/LayoutTests Revision 142510 Author aba...@webkit.org Date 2013-02-11 13:48:33 -0800 (Mon, 11 Feb 2013) Log Message Remove failure expectation now that this test is passing. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (142509 => 142510) --- trunk/LayoutTests/ChangeLog 2013-02-11 21:41:01 UTC (rev 142509) +++ trunk/LayoutTests/ChangeLog 2013-02-11 21:48:33 UTC (rev 142510) @@ -1,3 +1,9 @@ +2013-02-11 Adam Barth aba...@webkit.org + +Remove failure expectation now that this test is passing. + +* platform/chromium/TestExpectations: + 2013-02-11 Benjamin Poulain benja...@webkit.org Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings Modified: trunk/LayoutTests/platform/chromium/TestExpectations (142509 => 142510) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-11 21:41:01 UTC (rev 142509) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-11 21:48:33 UTC (rev 142510) @@ -1076,8 +1076,6 @@ webkit.org/b/60109 [ Win Linux Mac Release ] inspector/elements/edit-dom-actions.html [ Pass Slow ] webkit.org/b/60109 [ Win Mac Debug ] inspector/elements/edit-dom-actions.html [ Skip ] -webkit.org/b/109391 fast/frames/seamless/seamless-inherited-origin.html [ Failure ] - webkit.org/b/90488 [ Mac Debug ] inspector/elements/edit-style-attribute.html [ Pass Timeout ] webkit.org/b/74654 http/tests/inspector/network/network-worker.html @@ -4357,7 +4355,6 @@ webkit.org/b/109283 [ MountainLion ] fast/regions/selecting-text-through-different-region-flows.html [ ImageOnlyFailure ] webkit.org/b/109262 [ Debug SnowLeopard ] fast/table/table-cell-before-after-content-around-table-row.html [ Crash Pass ] -webkit.org/b/109376 [ Debug ] fast/frames/seamless/seamless-inherited-origin.html [ Failure ] webkit.org/b/109312 [ Win ] fast/canvas/canvas-drawImage-shadow.html [ Pass Failure ] webkit.org/b/109312 [ Win ] platform/chromium/virtual/gpu/fast/canvas/canvas-drawImage-shadow.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [142525] trunk
Title: [142525] trunk Revision 142525 Author aba...@webkit.org Date 2013-02-11 15:11:24 -0800 (Mon, 11 Feb 2013) Log Message The threaded HTML parser should pass all the fast/parser tests https://bugs.webkit.org/show_bug.cgi?id=109486 Reviewed by Tony Gentilcore. Source/WebCore: This patch fixes the last two test failures in fast/parser, which were crashes caused by not having a tokenizer when document.close() was called. (The tokenizer is created lazily by calls to document.write, which might not happen before document.close). fast/parser/document-close-iframe-load.html fast/parser/document-close-nested-iframe-load.html In addition, I've added a new test to make sure we flush the tokenizer properly in these cases. Test: fast/parser/document-close-iframe-load-partial-entity.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::prepareToStopParsing): (WebCore::HTMLDocumentParser::pumpTokenizer): LayoutTests: * fast/parser/document-close-iframe-load-partial-entity-expected.txt: Added. * fast/parser/document-close-iframe-load-partial-entity.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp Added Paths trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity-expected.txt trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity.html Diff Modified: trunk/LayoutTests/ChangeLog (142524 => 142525) --- trunk/LayoutTests/ChangeLog 2013-02-11 23:07:43 UTC (rev 142524) +++ trunk/LayoutTests/ChangeLog 2013-02-11 23:11:24 UTC (rev 142525) @@ -1,3 +1,13 @@ +2013-02-11 Adam Barth aba...@webkit.org + +The threaded HTML parser should pass all the fast/parser tests +https://bugs.webkit.org/show_bug.cgi?id=109486 + +Reviewed by Tony Gentilcore. + +* fast/parser/document-close-iframe-load-partial-entity-expected.txt: Added. +* fast/parser/document-close-iframe-load-partial-entity.html: Added. + 2013-02-11 Julien Chaffraix jchaffr...@webkit.org Unreviewed Chromium rebaselining after r142500. Added: trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity-expected.txt (0 => 142525) --- trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity-expected.txt 2013-02-11 23:11:24 UTC (rev 142525) @@ -0,0 +1,2 @@ +ALERT: This test passes if the text g appears below. +g Added: trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity.html (0 => 142525) --- trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity.html (rev 0) +++ trunk/LayoutTests/fast/parser/document-close-iframe-load-partial-entity.html 2013-02-11 23:11:24 UTC (rev 142525) @@ -0,0 +1,7 @@ +script +if (window.testRunner) +testRunner.dumpAsText(); +alert('This test passes if the text g appears below.'); +/script +This test passes if it doesn't crash. +iframe _onload_=document.open();document.write('g');document.close(); Modified: trunk/Source/WebCore/ChangeLog (142524 => 142525) --- trunk/Source/WebCore/ChangeLog 2013-02-11 23:07:43 UTC (rev 142524) +++ trunk/Source/WebCore/ChangeLog 2013-02-11 23:11:24 UTC (rev 142525) @@ -1,3 +1,27 @@ +2013-02-11 Adam Barth aba...@webkit.org + +The threaded HTML parser should pass all the fast/parser tests +https://bugs.webkit.org/show_bug.cgi?id=109486 + +Reviewed by Tony Gentilcore. + +This patch fixes the last two test failures in fast/parser, which were +crashes caused by not having a tokenizer when document.close() was +called. (The tokenizer is created lazily by calls to document.write, +which might not happen before document.close). + +fast/parser/document-close-iframe-load.html +fast/parser/document-close-nested-iframe-load.html + +In addition, I've added a new test to make sure we flush the tokenizer +properly in these cases. + +Test: fast/parser/document-close-iframe-load-partial-entity.html + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::prepareToStopParsing): +(WebCore::HTMLDocumentParser::pumpTokenizer): + 2013-02-11 Bruno de Oliveira Abinader bruno.abina...@basyskom.com [texmap] Implement frames-per-second debug counter Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (142524 => 142525) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-11 23:07:43 UTC (rev 142524) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-02-11 23:11:24 UTC (rev 142525) @@ -162,12 +162,16 @@ // but we need to ensure it isn't deleted yet. RefPtrHTMLDocumentParser protect(this); -#if ENABLE(THREADED_HTML_PARSER) // NOTE: This pump should only ever emit buffered character tokens, //
[webkit-changes] [142378] trunk/Source/WebCore
Title: [142378] trunk/Source/WebCore Revision 142378 Author aba...@webkit.org Date 2013-02-09 11:34:08 -0800 (Sat, 09 Feb 2013) Log Message Load event fires too early with threaded HTML parser https://bugs.webkit.org/show_bug.cgi?id=108984 Reviewed by Eric Seidel. Previously, the DocumentLoader would always be on the stack when the HTMLDocumentParser was processing data from the network. The DocumentLoader would then tell isLoadingInAPISense not to fire the load event. Now that we process data asynchronously with the threaded parser, the DocumentLoader is not always on the stack, which means we need to delay the load event using the clause that asks the parser whether it is processing data. Unfortunately, that clause is fragile because we can check for load completion while we're switching parsers between the network-created parser and a script-created parser. To avoid accidentially triggerin the load event during these gaps, this patch introduces a counter on document to record how many parsers are active on the stack. While that numer is non-zero, we'll delay the load event. When that number reaches zero, we'll check for load complete. That last step is required because the DocumentLoader::finishLoading method is no longer guarunteed to check for load complete after calling finish on the parser because the finish operation might complete asynchronously. After this patch, the threaded parser passes all but four fast/parser tests. * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::hasActiveParser): (WebCore): (WebCore::Document::decrementActiveParserCount): * dom/Document.h: (Document): (WebCore::Document::incrementActiveParserCount): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::pumpTokenizer): * html/parser/HTMLParserScheduler.cpp: (WebCore::ActiveParserSession::ActiveParserSession): (WebCore): (WebCore::ActiveParserSession::~ActiveParserSession): (WebCore::PumpSession::PumpSession): (WebCore::PumpSession::~PumpSession): * html/parser/HTMLParserScheduler.h: (WebCore): (ActiveParserSession): (PumpSession): * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingInAPISense): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/html/parser/HTMLParserScheduler.cpp trunk/Source/WebCore/html/parser/HTMLParserScheduler.h trunk/Source/WebCore/loader/DocumentLoader.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (142377 => 142378) --- trunk/Source/WebCore/ChangeLog 2013-02-09 19:33:00 UTC (rev 142377) +++ trunk/Source/WebCore/ChangeLog 2013-02-09 19:34:08 UTC (rev 142378) @@ -1,3 +1,58 @@ +2013-02-09 Adam Barth aba...@webkit.org + +Load event fires too early with threaded HTML parser +https://bugs.webkit.org/show_bug.cgi?id=108984 + +Reviewed by Eric Seidel. + +Previously, the DocumentLoader would always be on the stack when the +HTMLDocumentParser was processing data from the network. The +DocumentLoader would then tell isLoadingInAPISense not to fire the load +event. Now that we process data asynchronously with the threaded +parser, the DocumentLoader is not always on the stack, which means we +need to delay the load event using the clause that asks the parser +whether it is processing data. + +Unfortunately, that clause is fragile because we can check for load +completion while we're switching parsers between the network-created +parser and a script-created parser. To avoid accidentially triggerin +the load event during these gaps, this patch introduces a counter on +document to record how many parsers are active on the stack. While +that numer is non-zero, we'll delay the load event. When that number +reaches zero, we'll check for load complete. + +That last step is required because the DocumentLoader::finishLoading +method is no longer guarunteed to check for load complete after calling +finish on the parser because the finish operation might complete +asynchronously. + +After this patch, the threaded parser passes all but four fast/parser +tests. + +* dom/Document.cpp: +(WebCore::Document::Document): +(WebCore::Document::hasActiveParser): +(WebCore): +(WebCore::Document::decrementActiveParserCount): +* dom/Document.h: +(Document): +(WebCore::Document::incrementActiveParserCount): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): +(WebCore::HTMLDocumentParser::pumpTokenizer): +* html/parser/HTMLParserScheduler.cpp: +
[webkit-changes] [142305] trunk/Source
Title: [142305] trunk/Source Revision 142305 Author aba...@webkit.org Date 2013-02-08 11:30:54 -0800 (Fri, 08 Feb 2013) Log Message Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser https://bugs.webkit.org/show_bug.cgi?id=107190 Reviewed by Eric Seidel. Source/WebCore: This patch replaces the parser map with WeakPtr. We now use WeakPtrs to communicate from the main thread to the background thread. (We were already using WeakPtrs to communicate from the background thread to the main thread.) This change lets us remove a bunch of boilerplate code. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::stop): (WebCore): * html/parser/BackgroundHTMLParser.h: (WebCore::BackgroundHTMLParser::create): (BackgroundHTMLParser): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::didFailSpeculation): (WebCore::HTMLDocumentParser::startBackgroundParser): (WebCore::HTMLDocumentParser::stopBackgroundParser): (WebCore::HTMLDocumentParser::append): (WebCore::HTMLDocumentParser::finish): * html/parser/HTMLDocumentParser.h: (WebCore): (HTMLDocumentParser): Source/WTF: Add the ability to create an unbound weak reference. This facility lets you start sending messages to a WeakPtr on another thread before the object backing the WeakPtr has actually been created. * wtf/WeakPtr.h: (WTF::WeakReference::createUnbound): (WTF::WeakReference::bindTo): (WeakReference): (WTF::WeakReference::WeakReference): (WTF::WeakPtr::WeakPtr): (WeakPtr): (WTF::WeakPtrFactory::WeakPtrFactory): (WeakPtrFactory): (WTF::WeakPtrFactory::revokeAll): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/WeakPtr.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Diff Modified: trunk/Source/WTF/ChangeLog (142304 => 142305) --- trunk/Source/WTF/ChangeLog 2013-02-08 19:09:13 UTC (rev 142304) +++ trunk/Source/WTF/ChangeLog 2013-02-08 19:30:54 UTC (rev 142305) @@ -1,3 +1,25 @@ +2013-02-08 Adam Barth aba...@webkit.org + +Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser +https://bugs.webkit.org/show_bug.cgi?id=107190 + +Reviewed by Eric Seidel. + +Add the ability to create an unbound weak reference. This facility lets +you start sending messages to a WeakPtr on another thread before the +object backing the WeakPtr has actually been created. + +* wtf/WeakPtr.h: +(WTF::WeakReference::createUnbound): +(WTF::WeakReference::bindTo): +(WeakReference): +(WTF::WeakReference::WeakReference): +(WTF::WeakPtr::WeakPtr): +(WeakPtr): +(WTF::WeakPtrFactory::WeakPtrFactory): +(WeakPtrFactory): +(WTF::WeakPtrFactory::revokeAll): + 2013-02-08 Martin Robinson mrobin...@igalia.com [GTK] Add an experimental gyp build Modified: trunk/Source/WTF/wtf/WeakPtr.h (142304 => 142305) --- trunk/Source/WTF/wtf/WeakPtr.h 2013-02-08 19:09:13 UTC (rev 142304) +++ trunk/Source/WTF/wtf/WeakPtr.h 2013-02-08 19:30:54 UTC (rev 142305) @@ -34,14 +34,13 @@ namespace WTF { -namespace Internal { - templatetypename T class WeakReference : public ThreadSafeRefCountedWeakReferenceT { WTF_MAKE_NONCOPYABLE(WeakReferenceT); WTF_MAKE_FAST_ALLOCATED; public: static PassRefPtrWeakReferenceT create(T* ptr) { return adoptRef(new WeakReference(ptr)); } +static PassRefPtrWeakReferenceT createUnbound() { return adoptRef(new WeakReference()); } T* get() const { @@ -55,7 +54,18 @@ m_ptr = 0; } +void bindTo(T* ptr) +{ +ASSERT(!m_ptr); +#ifndef NDEBUG +m_boundThread = currentThread(); +#endif +m_ptr = ptr; +} + private: +WeakReference() : m_ptr(0) { } + explicit WeakReference(T* ptr) : m_ptr(ptr) #ifndef NDEBUG @@ -70,19 +80,17 @@ #endif }; -} - templatetypename T class WeakPtr { WTF_MAKE_FAST_ALLOCATED; public: WeakPtr() { } -WeakPtr(PassRefPtrInternal::WeakReferenceT ref) : m_ref(ref) { } +WeakPtr(PassRefPtrWeakReferenceT ref) : m_ref(ref) { } T* get() const { return m_ref-get(); } private: -RefPtrInternal::WeakReferenceT m_ref; +RefPtrWeakReferenceT m_ref; }; templatetypename T @@ -90,7 +98,14 @@ WTF_MAKE_NONCOPYABLE(WeakPtrFactoryT); WTF_MAKE_FAST_ALLOCATED; public: -explicit WeakPtrFactory(T* ptr) { m_ref = Internal::WeakReferenceT::create(ptr); } +explicit WeakPtrFactory(T* ptr) : m_ref(WeakReferenceT::create(ptr)) { } + +WeakPtrFactory(PassRefPtrWeakReferenceT ref, T* ptr) +: m_ref(ref) +{ +m_ref-bindTo(ptr); +} + ~WeakPtrFactory() { m_ref-clear(); }
[webkit-changes] [142200] trunk
Title: [142200] trunk Revision 142200 Author aba...@webkit.org Date 2013-02-07 16:24:31 -0800 (Thu, 07 Feb 2013) Log Message fast/parser/document-write-noscript.html fails for threaded HTML parser https://bugs.webkit.org/show_bug.cgi?id=109237 Reviewed by Eric Seidel. Source/WebCore: If there are multiple calls to document.write in an external script, we need to wait for them all to complete before invalidating the speculative tokens. Instead of doing this when we unwind the document.write call stack, we do this when we're about to resume parsing after script execution. Test: fast/parser/document-write-basic.html * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): (WebCore::HTMLDocumentParser::insert): (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): LayoutTests: This tests basic document.write functionality. There doesn't appear to be another fast/parser test that covers this basic case (although it's convered in some more complicated test cases incidentally.) * fast/parser/document-write-basic-expected.txt: Added. * fast/parser/document-write-basic.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Added Paths trunk/LayoutTests/fast/parser/document-write-basic-expected.txt trunk/LayoutTests/fast/parser/document-write-basic.html trunk/LayoutTests/fast/parser/document-write-partial-script-external-expected.txt trunk/LayoutTests/fast/parser/document-write-partial-script-external.html Diff Modified: trunk/LayoutTests/ChangeLog (142199 => 142200) --- trunk/LayoutTests/ChangeLog 2013-02-08 00:18:14 UTC (rev 142199) +++ trunk/LayoutTests/ChangeLog 2013-02-08 00:24:31 UTC (rev 142200) @@ -1,3 +1,17 @@ +2013-02-07 Adam Barth aba...@webkit.org + +fast/parser/document-write-noscript.html fails for threaded HTML parser +https://bugs.webkit.org/show_bug.cgi?id=109237 + +Reviewed by Eric Seidel. + +This tests basic document.write functionality. There doesn't appear to +be another fast/parser test that covers this basic case (although it's +convered in some more complicated test cases incidentally.) + +* fast/parser/document-write-basic-expected.txt: Added. +* fast/parser/document-write-basic.html: Added. + 2013-02-07 Keishi Hattori kei...@webkit.org REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute Added: trunk/LayoutTests/fast/parser/document-write-basic-expected.txt (0 => 142200) --- trunk/LayoutTests/fast/parser/document-write-basic-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-basic-expected.txt 2013-02-08 00:24:31 UTC (rev 142200) @@ -0,0 +1 @@ +PASS Added: trunk/LayoutTests/fast/parser/document-write-basic.html (0 => 142200) --- trunk/LayoutTests/fast/parser/document-write-basic.html (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-basic.html 2013-02-08 00:24:31 UTC (rev 142200) @@ -0,0 +1,9 @@ +html +body +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +script src="" +/body +/html Added: trunk/LayoutTests/fast/parser/document-write-partial-script-external-expected.txt (0 => 142200) --- trunk/LayoutTests/fast/parser/document-write-partial-script-external-expected.txt (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-partial-script-external-expected.txt 2013-02-08 00:24:31 UTC (rev 142200) @@ -0,0 +1,2 @@ +ALERT: PASS: This test passes if this string is alerted + Added: trunk/LayoutTests/fast/parser/document-write-partial-script-external.html (0 => 142200) --- trunk/LayoutTests/fast/parser/document-write-partial-script-external.html (rev 0) +++ trunk/LayoutTests/fast/parser/document-write-partial-script-external.html 2013-02-08 00:24:31 UTC (rev 142200) @@ -0,0 +1,8 @@ +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +script src="" +// iframe _onload_=alert('FAIL: If this string is visible, then this test fails.') src="" +alert('PASS: This test passes if this string is alerted'); +/script Modified: trunk/Source/WebCore/ChangeLog (142199 => 142200) --- trunk/Source/WebCore/ChangeLog 2013-02-08 00:18:14 UTC (rev 142199) +++ trunk/Source/WebCore/ChangeLog 2013-02-08 00:24:31 UTC (rev 142200) @@ -1,3 +1,23 @@ +2013-02-07 Adam Barth aba...@webkit.org + +fast/parser/document-write-noscript.html fails for threaded HTML parser +https://bugs.webkit.org/show_bug.cgi?id=109237 + +Reviewed by Eric Seidel. + +If there are multiple calls to document.write in an external script, we +need to wait for them all to complete before invalidating the +speculative tokens. Instead of doing this when we unwind the +
[webkit-changes] [141926] trunk
Title: [141926] trunk Revision 141926 Author aba...@webkit.org Date 2013-02-05 13:44:55 -0800 (Tue, 05 Feb 2013) Log Message DumpRenderTree should be able to enable the threaded parser https://bugs.webkit.org/show_bug.cgi?id=108970 Reviewed by Eric Seidel. Source/WebKit/chromium: * public/WebSettings.h: * src/WebSettingsImpl.cpp: (WebKit::WebSettingsImpl::setThreadedHTMLParser): (WebKit): * src/WebSettingsImpl.h: (WebSettingsImpl): Tools: We can now enable the parser at runtime using --enable-threaded-html-parser. * DumpRenderTree/chromium/DumpRenderTree.cpp: (main): * DumpRenderTree/chromium/TestRunner/public/WebPreferences.h: (WebPreferences): * DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp: (WebTestRunner::WebPreferences::reset): (WebTestRunner::WebPreferences::applyTo): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::TestShell): (TestShell::resetWebSettings): * DumpRenderTree/chromium/TestShell.h: (TestShell::setThreadedHTMLParser): (TestShell): Modified Paths trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/public/WebSettings.h trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp trunk/Source/WebKit/chromium/src/WebSettingsImpl.h trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebPreferences.h trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp trunk/Tools/DumpRenderTree/chromium/TestShell.cpp trunk/Tools/DumpRenderTree/chromium/TestShell.h Diff Modified: trunk/Source/WebKit/chromium/ChangeLog (141925 => 141926) --- trunk/Source/WebKit/chromium/ChangeLog 2013-02-05 21:41:53 UTC (rev 141925) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-02-05 21:44:55 UTC (rev 141926) @@ -1,3 +1,17 @@ +2013-02-05 Adam Barth aba...@webkit.org + +DumpRenderTree should be able to enable the threaded parser +https://bugs.webkit.org/show_bug.cgi?id=108970 + +Reviewed by Eric Seidel. + +* public/WebSettings.h: +* src/WebSettingsImpl.cpp: +(WebKit::WebSettingsImpl::setThreadedHTMLParser): +(WebKit): +* src/WebSettingsImpl.h: +(WebSettingsImpl): + 2013-02-05 Sami Kyostila skyos...@chromium.org [chromium] Make overlay layers slow-scrolling Modified: trunk/Source/WebKit/chromium/public/WebSettings.h (141925 => 141926) --- trunk/Source/WebKit/chromium/public/WebSettings.h 2013-02-05 21:41:53 UTC (rev 141925) +++ trunk/Source/WebKit/chromium/public/WebSettings.h 2013-02-05 21:44:55 UTC (rev 141926) @@ -161,6 +161,7 @@ virtual void setTextAutosizingEnabled(bool) = 0; virtual void setTextAutosizingFontScaleFactor(float) = 0; virtual void setTextDirectionSubmenuInclusionBehaviorNeverIncluded() = 0; +virtual void setThreadedHTMLParser(bool) = 0; virtual void setTouchDragDropEnabled(bool) = 0; virtual void setUnifiedTextCheckerEnabled(bool) = 0; virtual void setUnsafePluginPastingEnabled(bool) = 0; Modified: trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp (141925 => 141926) --- trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp 2013-02-05 21:41:53 UTC (rev 141925) +++ trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp 2013-02-05 21:44:55 UTC (rev 141926) @@ -356,6 +356,13 @@ m_settings-setTouchDragDropEnabled(enabled); } +void WebSettingsImpl::setThreadedHTMLParser(bool enabled) +{ +#if ENABLE(THREADED_HTML_PARSER) +m_settings-setThreadedHTMLParser(enabled); +#endif +} + void WebSettingsImpl::setOfflineWebApplicationCacheEnabled(bool enabled) { m_settings-setOfflineWebApplicationCacheEnabled(enabled); Modified: trunk/Source/WebKit/chromium/src/WebSettingsImpl.h (141925 => 141926) --- trunk/Source/WebKit/chromium/src/WebSettingsImpl.h 2013-02-05 21:41:53 UTC (rev 141925) +++ trunk/Source/WebKit/chromium/src/WebSettingsImpl.h 2013-02-05 21:44:55 UTC (rev 141926) @@ -158,6 +158,7 @@ virtual void setTextAutosizingFontScaleFactor(float); virtual void setTextDirectionSubmenuInclusionBehaviorNeverIncluded(); virtual void setTouchDragDropEnabled(bool); +virtual void setThreadedHTMLParser(bool); virtual void setUnifiedTextCheckerEnabled(bool); virtual void setUnsafePluginPastingEnabled(bool); virtual void setUserStyleSheetLocation(const WebURL); Modified: trunk/Tools/ChangeLog (141925 => 141926) --- trunk/Tools/ChangeLog 2013-02-05 21:41:53 UTC (rev 141925) +++ trunk/Tools/ChangeLog 2013-02-05 21:44:55 UTC (rev 141926) @@ -1,3 +1,26 @@ +2013-02-05 Adam Barth aba...@webkit.org + +DumpRenderTree should be able to enable the threaded parser +https://bugs.webkit.org/show_bug.cgi?id=108970 + +Reviewed by Eric Seidel. + +We can now enable the parser at runtime using --enable-threaded-html-parser. + +* DumpRenderTree/chromium/DumpRenderTree.cpp: +(main): +* DumpRenderTree/chromium/TestRunner/public/WebPreferences.h: +
[webkit-changes] [141328] trunk/Source/WebCore
Title: [141328] trunk/Source/WebCore Revision 141328 Author aba...@webkit.org Date 2013-01-30 15:16:03 -0800 (Wed, 30 Jan 2013) Log Message HTMLDocumentParser::insert should be aware of threaded parsing https://bugs.webkit.org/show_bug.cgi?id=107764 Reviewed by Eric Seidel. This patch is an incremental step towards recovering from document.write invalidating our speculative parsing buffer. The approach I've taken is to make it possible to transfer the HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background thread. To make that possible, I've taught the HTMLDocumentParser how to operate without a tokenizer or a token. Not having a tokenizer or a token while parsing in the background also helps us avoid accidentially feeding input to the main thread's tokenizer when we're supposed to feed it to the background thread. This patch shouldn't have any behavior change (other than possibly fixing a crash in fast/parser when threading parsing is enabled). * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): (WebCore::HTMLDocumentParser::didFailSpeculation): (WebCore): (WebCore::HTMLDocumentParser::insert): (WebCore::HTMLDocumentParser::finish): (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::constructTree): (WebCore::HTMLTreeBuilder::processStartTagForInBody): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): (WebCore::HTMLTreeBuilder::processScriptStartTag): * html/parser/TextDocumentParser.cpp: (WebCore::TextDocumentParser::TextDocumentParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp trunk/Source/WebCore/html/parser/TextDocumentParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (141327 => 141328) --- trunk/Source/WebCore/ChangeLog 2013-01-30 23:11:52 UTC (rev 141327) +++ trunk/Source/WebCore/ChangeLog 2013-01-30 23:16:03 UTC (rev 141328) @@ -1,3 +1,43 @@ +2013-01-30 Adam Barth aba...@webkit.org + +HTMLDocumentParser::insert should be aware of threaded parsing +https://bugs.webkit.org/show_bug.cgi?id=107764 + +Reviewed by Eric Seidel. + +This patch is an incremental step towards recovering from +document.write invalidating our speculative parsing buffer. The +approach I've taken is to make it possible to transfer the +HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background +thread. To make that possible, I've taught the HTMLDocumentParser how +to operate without a tokenizer or a token. + +Not having a tokenizer or a token while parsing in the background also +helps us avoid accidentially feeding input to the main thread's +tokenizer when we're supposed to feed it to the background thread. + +This patch shouldn't have any behavior change (other than possibly +fixing a crash in fast/parser when threading parsing is enabled). + +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::HTMLDocumentParser): +(WebCore::HTMLDocumentParser::didFailSpeculation): +(WebCore): +(WebCore::HTMLDocumentParser::insert): +(WebCore::HTMLDocumentParser::finish): +(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): +* html/parser/HTMLTreeBuilder.cpp: +(WebCore::HTMLTreeBuilder::constructTree): +(WebCore::HTMLTreeBuilder::processStartTagForInBody): +(WebCore::HTMLTreeBuilder::processEndTag): +(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): +(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): +(WebCore::HTMLTreeBuilder::processScriptStartTag): +* html/parser/TextDocumentParser.cpp: +(WebCore::TextDocumentParser::TextDocumentParser): + 2013-01-30 Rafael Weinstein rafa...@chromium.org [HTMLTemplateElement] prevent the parser from removing nodes from the content when the foster agency is processing formatting elements Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (141327 => 141328) --- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-01-30 23:11:52 UTC (rev 141327) +++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp 2013-01-30 23:16:03 UTC (rev 141328) @@ -77,8 +77,8 @@ HTMLDocumentParser::HTMLDocumentParser(HTMLDocument* document, bool reportErrors) : ScriptableDocumentParser(document) , m_options(document) -, m_token(adoptPtr(new HTMLToken)) -, m_tokenizer(HTMLTokenizer::create(m_options)) +,
[webkit-changes] [141057] trunk
Title: [141057] trunk Revision 141057 Author aba...@webkit.org Date 2013-01-28 22:52:51 -0800 (Mon, 28 Jan 2013) Log Message Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky https://bugs.webkit.org/show_bug.cgi?id=79013 Reviewed by David Levin. Source/WebCore: We need to use an isolated copy because we're going to use it on a different thread. * Modules/webdatabase/AbstractDatabase.cpp: (WebCore::AbstractDatabase::AbstractDatabase): LayoutTests: This test shouldn't be flaky anymore. * platform/chromium/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/chromium/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp Diff Modified: trunk/LayoutTests/ChangeLog (141056 => 141057) --- trunk/LayoutTests/ChangeLog 2013-01-29 06:50:22 UTC (rev 141056) +++ trunk/LayoutTests/ChangeLog 2013-01-29 06:52:51 UTC (rev 141057) @@ -1,3 +1,14 @@ +2013-01-28 Adam Barth aba...@webkit.org + +Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky +https://bugs.webkit.org/show_bug.cgi?id=79013 + +Reviewed by David Levin. + +This test shouldn't be flaky anymore. + +* platform/chromium/TestExpectations: + 2013-01-28 Keishi Hattori kei...@webkit.org [Chromium] Rebaselining after 141039. Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141056 => 141057) --- trunk/LayoutTests/platform/chromium/TestExpectations 2013-01-29 06:50:22 UTC (rev 141056) +++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-01-29 06:52:51 UTC (rev 141057) @@ -3050,8 +3050,6 @@ webkit.org/b/106064 [ Android ] fast/inline/continuation-outlines-with-layers.html [ ImageOnlyFailure ] -webkit.org/b/79013 http/tests/workers/terminate-during-sync-operation.html [ Pass Timeout Crash ] - crbug.com/113063 [ Debug ] storage/indexeddb/basics-workers.html [ Crash Pass ] webkit.org/b/79224 [ Win ] fast/canvas/webgl/tex-image-with-format-and-type.html [ Failure Pass ] Modified: trunk/Source/WebCore/ChangeLog (141056 => 141057) --- trunk/Source/WebCore/ChangeLog 2013-01-29 06:50:22 UTC (rev 141056) +++ trunk/Source/WebCore/ChangeLog 2013-01-29 06:52:51 UTC (rev 141057) @@ -1,3 +1,16 @@ +2013-01-28 Adam Barth aba...@webkit.org + +Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky +https://bugs.webkit.org/show_bug.cgi?id=79013 + +Reviewed by David Levin. + +We need to use an isolated copy because we're going to use it on a +different thread. + +* Modules/webdatabase/AbstractDatabase.cpp: +(WebCore::AbstractDatabase::AbstractDatabase): + 2013-01-28 Shinya Kawanaka shin...@chromium.org [Shadow] Gesture event is not fired in ShadowDOM Modified: trunk/Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp (141056 => 141057) --- trunk/Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp 2013-01-29 06:50:22 UTC (rev 141056) +++ trunk/Source/WebCore/Modules/webdatabase/AbstractDatabase.cpp 2013-01-29 06:52:51 UTC (rev 141057) @@ -188,7 +188,7 @@ , m_isSyncDatabase(databaseType == SyncDatabase) { ASSERT(context-isContextThread()); -m_contextThreadSecurityOrigin = m_scriptExecutionContext-securityOrigin(); +m_contextThreadSecurityOrigin = m_scriptExecutionContext-securityOrigin()-isolatedCopy(); m_databaseAuthorizer = DatabaseAuthorizer::create(infoTableName); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [141070] trunk/Source/WebCore
Title: [141070] trunk/Source/WebCore Revision 141070 Author aba...@webkit.org Date 2013-01-29 00:01:37 -0800 (Tue, 29 Jan 2013) Log Message HTMLDocumentParser should hold the HTMLToken using an OwnPtr https://bugs.webkit.org/show_bug.cgi?id=107762 Reviewed by Eric Seidel. Using an OwnPtr will let us detach the HTMLToken from the HTMLDocumentParser and send it to the BackgroundHTMLParser for further processing. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::pumpTokenizer): * html/parser/BackgroundHTMLParser.h: (BackgroundHTMLParser): * html/parser/CompactHTMLToken.cpp: (WebCore::CompactHTMLToken::CompactHTMLToken): * html/parser/CompactHTMLToken.h: (CompactHTMLToken): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): (WebCore::HTMLDocumentParser::pumpTokenizer): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp trunk/Source/WebCore/html/parser/CompactHTMLToken.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (141069 => 141070) --- trunk/Source/WebCore/ChangeLog 2013-01-29 08:01:03 UTC (rev 141069) +++ trunk/Source/WebCore/ChangeLog 2013-01-29 08:01:37 UTC (rev 141070) @@ -1,3 +1,29 @@ +2013-01-28 Adam Barth aba...@webkit.org + +HTMLDocumentParser should hold the HTMLToken using an OwnPtr +https://bugs.webkit.org/show_bug.cgi?id=107762 + +Reviewed by Eric Seidel. + +Using an OwnPtr will let us detach the HTMLToken from the +HTMLDocumentParser and send it to the BackgroundHTMLParser for further +processing. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +* html/parser/BackgroundHTMLParser.h: +(BackgroundHTMLParser): +* html/parser/CompactHTMLToken.cpp: +(WebCore::CompactHTMLToken::CompactHTMLToken): +* html/parser/CompactHTMLToken.h: +(CompactHTMLToken): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::HTMLDocumentParser): +(WebCore::HTMLDocumentParser::pumpTokenizer): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): + 2013-01-28 Huang Dongsung luxte...@company100.net [Texmap] Refactor code related to debug border and repaint count. Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (141069 => 141070) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-29 08:01:03 UTC (rev 141069) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-29 08:01:37 UTC (rev 141070) @@ -84,6 +84,7 @@ BackgroundHTMLParser::BackgroundHTMLParser(const HTMLParserOptions options, const WeakPtrHTMLDocumentParser parser) : m_inForeignContent(false) +, m_token(adoptPtr(new HTMLToken)) , m_tokenizer(HTMLTokenizer::create(options)) , m_options(options) , m_parser(parser) @@ -153,9 +154,9 @@ void BackgroundHTMLParser::pumpTokenizer() { -while (m_tokenizer-nextToken(m_input, m_token)) { -m_pendingTokens-append(CompactHTMLToken(m_token, TextPosition(m_input.currentLine(), m_input.currentColumn(; -m_token.clear(); +while (m_tokenizer-nextToken(m_input, *m_token.get())) { +m_pendingTokens-append(CompactHTMLToken(m_token.get(), TextPosition(m_input.currentLine(), m_input.currentColumn(; +m_token-clear(); if (!simulateTreeBuilder(m_pendingTokens-last()) || m_pendingTokens-size() = pendingTokenLimit) sendTokensToMainThread(); Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h (141069 => 141070) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-29 08:01:03 UTC (rev 141069) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-29 08:01:37 UTC (rev 141070) @@ -64,9 +64,9 @@ void sendTokensToMainThread(); +bool m_inForeignContent; // FIXME: We need a stack of foreign content markers. SegmentedString m_input; -HTMLToken m_token; -bool m_inForeignContent; // FIXME: We need a stack of foreign content markers. +OwnPtrHTMLToken m_token; OwnPtrHTMLTokenizer m_tokenizer; HTMLParserOptions m_options; WeakPtrHTMLDocumentParser m_parser; Modified: trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp (141069 => 141070) --- trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp 2013-01-29 08:01:03 UTC (rev 141069) +++ trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp 2013-01-29 08:01:37 UTC (rev 141070) @@ -42,8 +42,8 @@
[webkit-changes] [140786] trunk/Tools
Title: [140786] trunk/Tools Revision 140786 Author aba...@webkit.org Date 2013-01-24 23:00:11 -0800 (Thu, 24 Jan 2013) Log Message HTTP 500 error between QueueStatusServer and bot(s) https://bugs.webkit.org/show_bug.cgi?id=107184 Patch by Alan Cutter alancut...@chromium.org on 2013-01-24 Reviewed by Adam Barth. Removed the use of memcache which was the source of the exception. * QueueStatusServer/handlers/updatestatus.py: (UpdateStatus.post): * QueueStatusServer/model/attachment.py: (Attachment): (Attachment.summary): Modified Paths trunk/Tools/ChangeLog trunk/Tools/QueueStatusServer/handlers/updatestatus.py trunk/Tools/QueueStatusServer/model/attachment.py Diff Modified: trunk/Tools/ChangeLog (140785 => 140786) --- trunk/Tools/ChangeLog 2013-01-25 06:57:41 UTC (rev 140785) +++ trunk/Tools/ChangeLog 2013-01-25 07:00:11 UTC (rev 140786) @@ -1,3 +1,18 @@ +2013-01-24 Alan Cutter alancut...@chromium.org + +HTTP 500 error between QueueStatusServer and bot(s) +https://bugs.webkit.org/show_bug.cgi?id=107184 + +Reviewed by Adam Barth. + +Removed the use of memcache which was the source of the exception. + +* QueueStatusServer/handlers/updatestatus.py: +(UpdateStatus.post): +* QueueStatusServer/model/attachment.py: +(Attachment): +(Attachment.summary): + 2013-01-24 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r140653. Modified: trunk/Tools/QueueStatusServer/handlers/updatestatus.py (140785 => 140786) --- trunk/Tools/QueueStatusServer/handlers/updatestatus.py 2013-01-25 06:57:41 UTC (rev 140785) +++ trunk/Tools/QueueStatusServer/handlers/updatestatus.py 2013-01-25 07:00:11 UTC (rev 140786) @@ -67,5 +67,4 @@ RecordBotEvent.record_activity(queue_status.queue_name, queue_status.bot_id) if queue_status.active_patch_id: RecordPatchEvent.updated(queue_status.active_patch_id, queue_status.queue_name, queue_status.bot_id) -Attachment.dirty(queue_status.active_patch_id) self.response.out.write(queue_status.key().id()) Modified: trunk/Tools/QueueStatusServer/model/attachment.py (140785 => 140786) --- trunk/Tools/QueueStatusServer/model/attachment.py 2013-01-25 06:57:41 UTC (rev 140785) +++ trunk/Tools/QueueStatusServer/model/attachment.py 2013-01-25 07:00:11 UTC (rev 140786) @@ -28,8 +28,6 @@ import re -from google.appengine.api import memcache - from model.queues import Queue from model.queuestatus import QueueStatus from model.workitems import WorkItems @@ -37,10 +35,6 @@ class Attachment(object): @classmethod -def dirty(cls, attachment_id): -memcache.delete(str(attachment_id), namespace=attachment-summary) - -@classmethod def recent(cls, limit=1): statuses = QueueStatus.all().order(-date) # Notice that we use both a set and a list here to keep the -date ordering. @@ -66,11 +60,7 @@ def summary(self): if self._summary: return self._summary -self._summary = memcache.get(str(self.id), namespace=attachment-summary) -if self._summary: -return self._summary self._summary = self._fetch_summary() -memcache.set(str(self.id), self._summary, namespace=attachment-summary) return self._summary def state_from_queue_status(self, status): ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [140589] trunk/Source
Title: [140589] trunk/Source Revision 140589 Author aba...@webkit.org Date 2013-01-23 14:15:54 -0800 (Wed, 23 Jan 2013) Log Message BackgroundHTMLParser::sendTokensToMainThread should use bind https://bugs.webkit.org/show_bug.cgi?id=107637 Reviewed by Eric Seidel. Source/WebCore: This patch replaces our hand-written implementation of bind for didReceiveTokensFromBackgroundParser with bind from Functional.h. To use the generic version of bind, we need to switch to using WeakPtr to hold a reference to the main thread parser in the BackgroundHTMLParser. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): (WebCore::BackgroundHTMLParser::createPartial): * html/parser/BackgroundHTMLParser.h: (WebCore::BackgroundHTMLParser::create): (BackgroundHTMLParser): (ParserMap): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::HTMLDocumentParser): (WebCore::HTMLDocumentParser::startBackgroundParser): (WebCore::HTMLDocumentParser::stopBackgroundParser): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): Source/WTF: * wtf/Functional.h: - I had to re-work the approach to validating WeakPtr |this| arguments a bit. Previously you couldn't pass a WeakPtr as a non-|this| argument to a function because we would try to unwrap it into a raw pointer. * wtf/WeakPtr.h: (WTF::WeakPtrFactory::revokeAll): (WeakPtrFactory): - Let clients revoke all outstanding WeakPtrs without needing to destroy the WeakPtrFactory. * wtf/chromium/MainThreadChromium.cpp: (WTF::callFunctionObject): (WTF::callOnMainThread): - Implement callOnMainThread for Function objects. The non-Chromium implementation of MainThread.cpp already implements this feature. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Functional.h trunk/Source/WTF/wtf/WeakPtr.h trunk/Source/WTF/wtf/chromium/MainThreadChromium.cpp trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Diff Modified: trunk/Source/WTF/ChangeLog (140588 => 140589) --- trunk/Source/WTF/ChangeLog 2013-01-23 22:14:47 UTC (rev 140588) +++ trunk/Source/WTF/ChangeLog 2013-01-23 22:15:54 UTC (rev 140589) @@ -1,3 +1,26 @@ +2013-01-23 Adam Barth aba...@webkit.org + +BackgroundHTMLParser::sendTokensToMainThread should use bind +https://bugs.webkit.org/show_bug.cgi?id=107637 + +Reviewed by Eric Seidel. + +* wtf/Functional.h: +- I had to re-work the approach to validating WeakPtr |this| + arguments a bit. Previously you couldn't pass a WeakPtr as a + non-|this| argument to a function because we would try to unwrap + it into a raw pointer. +* wtf/WeakPtr.h: +(WTF::WeakPtrFactory::revokeAll): +(WeakPtrFactory): +- Let clients revoke all outstanding WeakPtrs without needing to + destroy the WeakPtrFactory. +* wtf/chromium/MainThreadChromium.cpp: +(WTF::callFunctionObject): +(WTF::callOnMainThread): +- Implement callOnMainThread for Function objects. The non-Chromium + implementation of MainThread.cpp already implements this feature. + 2013-01-23 Justin Schuh jsc...@chromium.org [CHROMIUM] Suppress c4267 build warnings in WTF for Win64 targets Modified: trunk/Source/WTF/wtf/Functional.h (140588 => 140589) --- trunk/Source/WTF/wtf/Functional.h 2013-01-23 22:14:47 UTC (rev 140588) +++ trunk/Source/WTF/wtf/Functional.h 2013-01-23 22:15:54 UTC (rev 140589) @@ -83,7 +83,6 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; -static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)()) : m_function(function) @@ -104,7 +103,6 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; -static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1)) : m_function(function) @@ -125,7 +123,6 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; -static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1, P2)) : m_function(function) @@ -146,7 +143,6 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; -static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1, P2, P3)) : m_function(function) @@ -167,7 +163,6 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; -static const bool
[webkit-changes] [140635] trunk/Source/WebCore
Title: [140635] trunk/Source/WebCore Revision 140635 Author aba...@webkit.org Date 2013-01-23 19:24:32 -0800 (Wed, 23 Jan 2013) Log Message BackgroundHTMLParser should use more const references to avoid copy constructors https://bugs.webkit.org/show_bug.cgi?id=107763 Reviewed by Tony Gentilcore. I doubt this optimization is visible anywhere, but it's just a nit. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::createPartial): * html/parser/BackgroundHTMLParser.h: (WebCore::BackgroundHTMLParser::create): (BackgroundHTMLParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (140634 => 140635) --- trunk/Source/WebCore/ChangeLog 2013-01-24 02:57:46 UTC (rev 140634) +++ trunk/Source/WebCore/ChangeLog 2013-01-24 03:24:32 UTC (rev 140635) @@ -1,3 +1,19 @@ +2013-01-23 Adam Barth aba...@webkit.org + +BackgroundHTMLParser should use more const references to avoid copy constructors +https://bugs.webkit.org/show_bug.cgi?id=107763 + +Reviewed by Tony Gentilcore. + +I doubt this optimization is visible anywhere, but it's just a nit. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::createPartial): +* html/parser/BackgroundHTMLParser.h: +(WebCore::BackgroundHTMLParser::create): +(BackgroundHTMLParser): + 2013-01-23 Abhishek Arya infe...@chromium.org Add support for ASSERT_WITH_SECURITY_IMPLICATION. Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (140634 => 140635) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-24 02:57:46 UTC (rev 140634) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-24 03:24:32 UTC (rev 140635) @@ -82,7 +82,7 @@ return m_backgroundParsers; } -BackgroundHTMLParser::BackgroundHTMLParser(const HTMLParserOptions options, WeakPtrHTMLDocumentParser parser) +BackgroundHTMLParser::BackgroundHTMLParser(const HTMLParserOptions options, const WeakPtrHTMLDocumentParser parser) : m_inForeignContent(false) , m_tokenizer(HTMLTokenizer::create(options)) , m_options(options) @@ -178,7 +178,7 @@ m_pendingTokens = adoptPtr(new CompactHTMLTokenStream); } -void BackgroundHTMLParser::createPartial(ParserIdentifier identifier, HTMLParserOptions options, WeakPtrHTMLDocumentParser parser) +void BackgroundHTMLParser::createPartial(ParserIdentifier identifier, const HTMLParserOptions options, const WeakPtrHTMLDocumentParser parser) { ASSERT(!parserMap().backgroundParsers().get(identifier)); parserMap().backgroundParsers().set(identifier, BackgroundHTMLParser::create(options, parser)); Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h (140634 => 140635) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-24 02:57:46 UTC (rev 140634) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-24 03:24:32 UTC (rev 140635) @@ -45,18 +45,18 @@ void append(const String); void finish(); -static PassOwnPtrBackgroundHTMLParser create(const HTMLParserOptions options, WeakPtrHTMLDocumentParser parser) +static PassOwnPtrBackgroundHTMLParser create(const HTMLParserOptions options, const WeakPtrHTMLDocumentParser parser) { return adoptPtr(new BackgroundHTMLParser(options, parser)); } -static void createPartial(ParserIdentifier, HTMLParserOptions, WeakPtrHTMLDocumentParser); +static void createPartial(ParserIdentifier, const HTMLParserOptions, const WeakPtrHTMLDocumentParser); static void stopPartial(ParserIdentifier); static void appendPartial(ParserIdentifier, const String input); static void finishPartial(ParserIdentifier); private: -BackgroundHTMLParser(const HTMLParserOptions, WeakPtrHTMLDocumentParser); +BackgroundHTMLParser(const HTMLParserOptions, const WeakPtrHTMLDocumentParser); void markEndOfFile(); void pumpTokenizer(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [140403] trunk/Source/WebCore
Title: [140403] trunk/Source/WebCore Revision 140403 Author aba...@webkit.org Date 2013-01-22 02:26:20 -0800 (Tue, 22 Jan 2013) Log Message AtomicMarkupTokenBase must die https://bugs.webkit.org/show_bug.cgi?id=107513 Reviewed by Eric Seidel. Now that NEW_XML has been removed from the tree, there is no reason to have AtomicMarkupTokenBase exist as a templated base class for AtomicHTMLToken. This patch just merges the code back into AtomicHTMLToken. * html/parser/HTMLToken.h: (AtomicHTMLToken): (WebCore::AtomicHTMLToken::type): (WebCore::AtomicHTMLToken::name): (WebCore::AtomicHTMLToken::setName): (WebCore::AtomicHTMLToken::selfClosing): (WebCore::AtomicHTMLToken::getAttributeItem): (WebCore::AtomicHTMLToken::attributes): (WebCore::AtomicHTMLToken::characters): (WebCore::AtomicHTMLToken::charactersLength): (WebCore::AtomicHTMLToken::isAll8BitData): (WebCore::AtomicHTMLToken::comment): (WebCore::AtomicHTMLToken::publicIdentifier): (WebCore::AtomicHTMLToken::systemIdentifier): (WebCore::AtomicHTMLToken::clearExternalCharacters): (WebCore::AtomicHTMLToken::AtomicHTMLToken): (WebCore::AtomicMarkupTokenBase::initializeAttributes): (WebCore): * xml/parser/MarkupTokenBase.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLToken.h trunk/Source/WebCore/html/parser/HTMLTokenizer.cpp trunk/Source/WebCore/xml/parser/MarkupTokenBase.h Diff Modified: trunk/Source/WebCore/ChangeLog (140402 => 140403) --- trunk/Source/WebCore/ChangeLog 2013-01-22 10:24:30 UTC (rev 140402) +++ trunk/Source/WebCore/ChangeLog 2013-01-22 10:26:20 UTC (rev 140403) @@ -1,3 +1,35 @@ +2013-01-22 Adam Barth aba...@webkit.org + +AtomicMarkupTokenBase must die +https://bugs.webkit.org/show_bug.cgi?id=107513 + +Reviewed by Eric Seidel. + +Now that NEW_XML has been removed from the tree, there is no reason to +have AtomicMarkupTokenBase exist as a templated base class for +AtomicHTMLToken. This patch just merges the code back into +AtomicHTMLToken. + +* html/parser/HTMLToken.h: +(AtomicHTMLToken): +(WebCore::AtomicHTMLToken::type): +(WebCore::AtomicHTMLToken::name): +(WebCore::AtomicHTMLToken::setName): +(WebCore::AtomicHTMLToken::selfClosing): +(WebCore::AtomicHTMLToken::getAttributeItem): +(WebCore::AtomicHTMLToken::attributes): +(WebCore::AtomicHTMLToken::characters): +(WebCore::AtomicHTMLToken::charactersLength): +(WebCore::AtomicHTMLToken::isAll8BitData): +(WebCore::AtomicHTMLToken::comment): +(WebCore::AtomicHTMLToken::publicIdentifier): +(WebCore::AtomicHTMLToken::systemIdentifier): +(WebCore::AtomicHTMLToken::clearExternalCharacters): +(WebCore::AtomicHTMLToken::AtomicHTMLToken): +(WebCore::AtomicMarkupTokenBase::initializeAttributes): +(WebCore): +* xml/parser/MarkupTokenBase.h: + 2013-01-22 Eric Seidel e...@webkit.org Turn on ENABLE_THREADED_HTML_PARSER for Chromium (it's still disabled at runtime) Modified: trunk/Source/WebCore/html/parser/HTMLToken.h (140402 => 140403) --- trunk/Source/WebCore/html/parser/HTMLToken.h 2013-01-22 10:24:30 UTC (rev 140402) +++ trunk/Source/WebCore/html/parser/HTMLToken.h 2013-01-22 10:26:20 UTC (rev 140403) @@ -61,7 +61,7 @@ } }; -class AtomicHTMLToken : public AtomicMarkupTokenBaseHTMLToken, public RefCountedAtomicHTMLToken { +class AtomicHTMLToken : public RefCountedAtomicHTMLToken { WTF_MAKE_NONCOPYABLE(AtomicHTMLToken); public: static PassRefPtrAtomicHTMLToken create(HTMLToken token) @@ -88,16 +88,130 @@ ASSERT(m_type == HTMLTokenTypes::DOCTYPE); return m_doctypeData-m_forceQuirks; } + +HTMLTokenTypes::Type type() const { return m_type; } + +const AtomicString name() const +{ +ASSERT(usesName()); +return m_name; +} + +void setName(const AtomicString name) +{ +ASSERT(usesName()); +m_name = name; +} + +bool selfClosing() const +{ +ASSERT(m_type == HTMLTokenTypes::StartTag || m_type == HTMLTokenTypes::EndTag); +return m_selfClosing; +} + +Attribute* getAttributeItem(const QualifiedName attributeName) +{ +ASSERT(usesAttributes()); +return findAttributeInVector(m_attributes, attributeName); +} + +VectorAttribute attributes() +{ +ASSERT(usesAttributes()); +return m_attributes; +} + +const VectorAttribute attributes() const +{ +ASSERT(usesAttributes()); +return m_attributes; +} + +const UChar* characters() const +{ +ASSERT(m_type == HTMLTokenTypes::Character); +return m_externalCharacters; +} + +size_t charactersLength() const +{ +ASSERT(m_type == HTMLTokenTypes::Character); +return m_externalCharactersLength; +} + +bool isAll8BitData() const +{ +return
[webkit-changes] [140441] trunk/Source/WebCore
Title: [140441] trunk/Source/WebCore Revision 140441 Author aba...@webkit.org Date 2013-01-22 11:12:15 -0800 (Tue, 22 Jan 2013) Log Message BackgroundHTMLParser should simulate tree building in a separate function https://bugs.webkit.org/show_bug.cgi?id=107569 Reviewed by Eric Seidel. This patch cleans up BackgroundHTMLParser::pumpTokenizer to prepare for implementing speculative parsing. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::simulateTreeBuilder): (WebCore): (WebCore::BackgroundHTMLParser::pumpTokenizer): * html/parser/BackgroundHTMLParser.h: (BackgroundHTMLParser): * page/Settings.in: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (140440 => 140441) --- trunk/Source/WebCore/ChangeLog 2013-01-22 18:52:52 UTC (rev 140440) +++ trunk/Source/WebCore/ChangeLog 2013-01-22 19:12:15 UTC (rev 140441) @@ -1,3 +1,21 @@ +2013-01-22 Adam Barth aba...@webkit.org + +BackgroundHTMLParser should simulate tree building in a separate function +https://bugs.webkit.org/show_bug.cgi?id=107569 + +Reviewed by Eric Seidel. + +This patch cleans up BackgroundHTMLParser::pumpTokenizer to prepare for +implementing speculative parsing. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::simulateTreeBuilder): +(WebCore): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +* html/parser/BackgroundHTMLParser.h: +(BackgroundHTMLParser): +* page/Settings.in: + 2013-01-22 Sheriff Bot webkit.review@gmail.com Unreviewed, rolling out r140435. Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (140440 => 140441) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 18:52:52 UTC (rev 140440) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 19:12:15 UTC (rev 140441) @@ -118,6 +118,42 @@ pumpTokenizer(); } +void BackgroundHTMLParser::simulateTreeBuilder(const CompactHTMLToken token) +{ +if (token.type() == HTMLTokenTypes::StartTag) { +const String tagName = token.data(); +if (threadSafeMatch(tagName, SVGNames::svgTag) +|| threadSafeMatch(tagName, MathMLNames::mathTag)) +m_inForeignContent = true; + +// FIXME: This is just a copy of Tokenizer::updateStateFor which uses threadSafeMatches. +if (threadSafeMatch(tagName, textareaTag) || threadSafeMatch(tagName, titleTag)) +m_tokenizer-setState(HTMLTokenizerState::RCDATAState); +else if (threadSafeMatch(tagName, plaintextTag)) +m_tokenizer-setState(HTMLTokenizerState::PLAINTEXTState); +else if (threadSafeMatch(tagName, scriptTag)) +m_tokenizer-setState(HTMLTokenizerState::ScriptDataState); +else if (threadSafeMatch(tagName, styleTag) +|| threadSafeMatch(tagName, iframeTag) +|| threadSafeMatch(tagName, xmpTag) +|| (threadSafeMatch(tagName, noembedTag) m_options.pluginsEnabled) +|| threadSafeMatch(tagName, noframesTag) +|| (threadSafeMatch(tagName, noscriptTag) m_options.scriptEnabled)) +m_tokenizer-setState(HTMLTokenizerState::RAWTEXTState); +} + +if (token.type() == HTMLTokenTypes::EndTag) { +const String tagName = token.data(); +if (threadSafeMatch(tagName, SVGNames::svgTag) || threadSafeMatch(tagName, MathMLNames::mathTag)) +m_inForeignContent = false; +if (threadSafeMatch(tagName, scriptTag)) +m_isPausedWaitingForScripts = true; +} + +// FIXME: Need to set setForceNullCharacterReplacement based on m_inForeignContent as well. +m_tokenizer-setShouldAllowCDATA(m_inForeignContent); +} + void BackgroundHTMLParser::pumpTokenizer() { if (m_isPausedWaitingForScripts) @@ -125,44 +161,13 @@ while (m_tokenizer-nextToken(m_input.current(), m_token)) { m_pendingTokens.append(CompactHTMLToken(m_token)); +m_token.clear(); -const CompactHTMLToken token = m_pendingTokens.last(); +simulateTreeBuilder(m_pendingTokens.last()); -if (token.type() == HTMLTokenTypes::StartTag) { -const String tagName = token.data(); -if (threadSafeMatch(tagName, SVGNames::svgTag) -|| threadSafeMatch(tagName, MathMLNames::mathTag)) -m_inForeignContent = true; +if (m_isPausedWaitingForScripts) +break; -// FIXME: This is just a copy of Tokenizer::updateStateFor which doesn't use HTMLNames. -if (threadSafeMatch(tagName, textareaTag) || threadSafeMatch(tagName, titleTag)) -m_tokenizer-setState(HTMLTokenizerState::RCDATAState); -else if (threadSafeMatch(tagName, plaintextTag)) -
[webkit-changes] [140446] trunk/Source/WebCore
Title: [140446] trunk/Source/WebCore Revision 140446 Author aba...@webkit.org Date 2013-01-22 11:55:01 -0800 (Tue, 22 Jan 2013) Log Message Wean BackgroundHTMLParser off HTMLInputStream https://bugs.webkit.org/show_bug.cgi?id=107575 Reviewed by Eric Seidel. The BackgroundHTMLParser doesn't need to use HTMLInputStream because it doesn't need to handle nested calls to document.write. Instead, we can just use a SegmentedString directly, which will let us checkpoint m_input for speculation. * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::append): (WebCore::BackgroundHTMLParser::finish): (WebCore::BackgroundHTMLParser::markEndOfFile): (WebCore): (WebCore::BackgroundHTMLParser::pumpTokenizer): * html/parser/BackgroundHTMLParser.h: (BackgroundHTMLParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (140445 => 140446) --- trunk/Source/WebCore/ChangeLog 2013-01-22 19:24:58 UTC (rev 140445) +++ trunk/Source/WebCore/ChangeLog 2013-01-22 19:55:01 UTC (rev 140446) @@ -1,3 +1,24 @@ +2013-01-22 Adam Barth aba...@webkit.org + +Wean BackgroundHTMLParser off HTMLInputStream +https://bugs.webkit.org/show_bug.cgi?id=107575 + +Reviewed by Eric Seidel. + +The BackgroundHTMLParser doesn't need to use HTMLInputStream because it +doesn't need to handle nested calls to document.write. Instead, we can +just use a SegmentedString directly, which will let us checkpoint +m_input for speculation. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::append): +(WebCore::BackgroundHTMLParser::finish): +(WebCore::BackgroundHTMLParser::markEndOfFile): +(WebCore): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +* html/parser/BackgroundHTMLParser.h: +(BackgroundHTMLParser): + 2013-01-22 Sergio Villar Senin svil...@igalia.com [Soup] Random thread crashes Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (140445 => 140446) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 19:24:58 UTC (rev 140445) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 19:55:01 UTC (rev 140446) @@ -101,7 +101,7 @@ void BackgroundHTMLParser::append(const String input) { -m_input.appendToEnd(input); +m_input.append(SegmentedString(input)); pumpTokenizer(); } @@ -113,11 +113,21 @@ void BackgroundHTMLParser::finish() { -ASSERT(!m_input.haveSeenEndOfFile()); -m_input.markEndOfFile(); +markEndOfFile(); pumpTokenizer(); } +void BackgroundHTMLParser::markEndOfFile() +{ +// FIXME: This should use InputStreamPreprocessor::endOfFileMarker +// once InputStreamPreprocessor is split off into its own header. +const LChar endOfFileMarker = 0; + +ASSERT(!m_input.isClosed()); +m_input.append(SegmentedString(String(endOfFileMarker, 1))); +m_input.close(); +} + void BackgroundHTMLParser::simulateTreeBuilder(const CompactHTMLToken token) { if (token.type() == HTMLTokenTypes::StartTag) { @@ -159,7 +169,7 @@ if (m_isPausedWaitingForScripts) return; -while (m_tokenizer-nextToken(m_input.current(), m_token)) { +while (m_tokenizer-nextToken(m_input, m_token)) { m_pendingTokens.append(CompactHTMLToken(m_token)); m_token.clear(); Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h (140445 => 140446) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-22 19:24:58 UTC (rev 140445) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h 2013-01-22 19:55:01 UTC (rev 140446) @@ -29,7 +29,6 @@ #if ENABLE(THREADED_HTML_PARSER) #include CompactHTMLToken.h -#include HTMLInputStream.h #include HTMLParserOptions.h #include HTMLToken.h #include HTMLTokenizer.h @@ -60,12 +59,13 @@ private: explicit BackgroundHTMLParser(const HTMLParserOptions, ParserIdentifier); +void markEndOfFile(); void pumpTokenizer(); void simulateTreeBuilder(const CompactHTMLToken); void sendTokensToMainThread(); -HTMLInputStream m_input; +SegmentedString m_input; HTMLToken m_token; bool m_isPausedWaitingForScripts; bool m_inForeignContent; // FIXME: We need a stack of foreign content markers. ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [140478] trunk/Source/WebCore
Title: [140478] trunk/Source/WebCore Revision 140478 Author aba...@webkit.org Date 2013-01-22 15:14:56 -0800 (Tue, 22 Jan 2013) Log Message The BackgroundHTMLParser shouldn't pause when waiting for scripts https://bugs.webkit.org/show_bug.cgi?id=107584 Reviewed by Eric Seidel. Previously, the BackgroundHTMLParser would pause itself when it encountered a scrip tag and wait for a signal from the main thread to continue. After this patch, the BackgroundHTMLParser continues ahead and the main thread keeps a queue of pending tokens. This patch brings us closer to speculative parsing because when the BackgroundHTMLParser is continuing ahead, it is speculating that it is in the correct state. A future patch will let us abort incorret speculations and resume from an eariler point in the input stream. * html/parser/BackgroundHTMLParser.cpp: (WebCore::checkThatTokensAreSafeToSendToAnotherThread): (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::simulateTreeBuilder): (WebCore::BackgroundHTMLParser::pumpTokenizer): (WebCore::TokenDelivery::TokenDelivery): (TokenDelivery): (WebCore::TokenDelivery::execute): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): * html/parser/BackgroundHTMLParser.h: (BackgroundHTMLParser): * html/parser/CompactHTMLToken.h: (WebCore): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser): (WebCore): (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser): (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): * html/parser/HTMLDocumentParser.h: (HTMLDocumentParser): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h trunk/Source/WebCore/html/parser/CompactHTMLToken.h trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Diff Modified: trunk/Source/WebCore/ChangeLog (140477 => 140478) --- trunk/Source/WebCore/ChangeLog 2013-01-22 23:13:58 UTC (rev 140477) +++ trunk/Source/WebCore/ChangeLog 2013-01-22 23:14:56 UTC (rev 140478) @@ -1,3 +1,41 @@ +2013-01-22 Adam Barth aba...@webkit.org + +The BackgroundHTMLParser shouldn't pause when waiting for scripts +https://bugs.webkit.org/show_bug.cgi?id=107584 + +Reviewed by Eric Seidel. + +Previously, the BackgroundHTMLParser would pause itself when it +encountered a scrip tag and wait for a signal from the main thread to +continue. After this patch, the BackgroundHTMLParser continues ahead +and the main thread keeps a queue of pending tokens. + +This patch brings us closer to speculative parsing because when the +BackgroundHTMLParser is continuing ahead, it is speculating that it is +in the correct state. A future patch will let us abort incorret +speculations and resume from an eariler point in the input stream. + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::checkThatTokensAreSafeToSendToAnotherThread): +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::simulateTreeBuilder): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(WebCore::TokenDelivery::TokenDelivery): +(TokenDelivery): +(WebCore::TokenDelivery::execute): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +* html/parser/BackgroundHTMLParser.h: +(BackgroundHTMLParser): +* html/parser/CompactHTMLToken.h: +(WebCore): +* html/parser/HTMLDocumentParser.cpp: +(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser): +(WebCore): +(WebCore::HTMLDocumentParser::processTokensFromBackgroundParser): +(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): +* html/parser/HTMLDocumentParser.h: +(HTMLDocumentParser): + 2013-01-22 Simon Fraser simon.fra...@apple.com Fix scrollperf logging Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (140477 => 140478) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 23:13:58 UTC (rev 140477) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-22 23:14:56 UTC (rev 140478) @@ -45,10 +45,10 @@ #ifndef NDEBUG -static void checkThatTokensAreSafeToSendToAnotherThread(const VectorCompactHTMLToken tokens) +static void checkThatTokensAreSafeToSendToAnotherThread(const CompactHTMLTokenStream* tokens) { -for (size_t i = 0; i tokens.size(); ++i) -ASSERT(tokens[i].isSafeToSendToAnotherThread()); +for (size_t i = 0; i tokens-size(); ++i) +ASSERT(tokens-at(i).isSafeToSendToAnotherThread()); } #endif @@ -92,11 +92,11 @@ } BackgroundHTMLParser::BackgroundHTMLParser(const HTMLParserOptions options, ParserIdentifier identifier) -:
[webkit-changes] [140040] trunk/Source/WTF
Title: [140040] trunk/Source/WTF Revision 140040 Author aba...@webkit.org Date 2013-01-17 14:17:12 -0800 (Thu, 17 Jan 2013) Log Message Teach Functional.h about WeakPtr https://bugs.webkit.org/show_bug.cgi?id=107105 Reviewed by Anders Carlsson. A common pattern in cross-thread communication is to call member functions of an object on a remote thread. If the caller's reference to the object on the remote thread is a WeakPtr, the caller usually wants to validate that the object still exists when the call actually takes place. It's possible to do this manually for every cross-thread call, but that is tiresome and error prone. Instead, we can teach bind to validate WeakPtr arguments when passed as the this parameter to a member function. * wtf/Functional.h: (WTF::ParamStorageTraits::validate): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Functional.h Diff Modified: trunk/Source/WTF/ChangeLog (140039 => 140040) --- trunk/Source/WTF/ChangeLog 2013-01-17 22:06:13 UTC (rev 140039) +++ trunk/Source/WTF/ChangeLog 2013-01-17 22:17:12 UTC (rev 140040) @@ -1,3 +1,24 @@ +2013-01-17 Adam Barth aba...@webkit.org + +Teach Functional.h about WeakPtr +https://bugs.webkit.org/show_bug.cgi?id=107105 + +Reviewed by Anders Carlsson. + +A common pattern in cross-thread communication is to call member +functions of an object on a remote thread. If the caller's reference to +the object on the remote thread is a WeakPtr, the caller usually wants +to validate that the object still exists when the call actually takes +place. + +It's possible to do this manually for every cross-thread call, but that +is tiresome and error prone. Instead, we can teach bind to validate +WeakPtr arguments when passed as the this parameter to a member +function. + +* wtf/Functional.h: +(WTF::ParamStorageTraits::validate): + 2013-01-17 David Kilzer ddkil...@apple.com Fix vprintf_stderr_common() to compile with -Wshorten-64-to-32 Modified: trunk/Source/WTF/wtf/Functional.h (140039 => 140040) --- trunk/Source/WTF/wtf/Functional.h 2013-01-17 22:06:13 UTC (rev 140039) +++ trunk/Source/WTF/wtf/Functional.h 2013-01-17 22:17:12 UTC (rev 140040) @@ -30,6 +30,7 @@ #include wtf/PassRefPtr.h #include wtf/RefPtr.h #include wtf/ThreadSafeRefCounted.h +#include wtf/WeakPtr.h #if PLATFORM(MAC) COMPILER_SUPPORTS(BLOCKS) #include Block.h @@ -82,6 +83,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; +static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)()) : m_function(function) @@ -102,6 +104,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; +static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1)) : m_function(function) @@ -122,6 +125,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; +static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1, P2)) : m_function(function) @@ -142,6 +146,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = false; +static const bool shouldValidateFirstParameter = false; explicit FunctionWrapper(R (*function)(P1, P2, P3)) : m_function(function) @@ -162,6 +167,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; +static const bool shouldValidateFirstParameter = true; explicit FunctionWrapper(R (C::*function)()) : m_function(function) @@ -182,6 +188,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; +static const bool shouldValidateFirstParameter = true; explicit FunctionWrapper(R (C::*function)(P1)) : m_function(function) @@ -202,6 +209,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; +static const bool shouldValidateFirstParameter = true; explicit FunctionWrapper(R (C::*function)(P1, P2)) : m_function(function) @@ -222,6 +230,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; +static const bool shouldValidateFirstParameter = true; explicit FunctionWrapper(R (C::*function)(P1, P2, P3)) : m_function(function) @@ -242,6 +251,7 @@ public: typedef R ResultType; static const bool shouldRefFirstParameter = HasRefAndDerefC::value; +static const bool shouldValidateFirstParameter = true; explicit FunctionWrapper(R (C::*function)(P1, P2, P3, P4)) : m_function(function) @@ -262,6 +272,7 @@ public: typedef R ResultType; static const bool
[webkit-changes] [140079] trunk/Source/WebCore
Title: [140079] trunk/Source/WebCore Revision 140079 Author aba...@webkit.org Date 2013-01-17 18:00:52 -0800 (Thu, 17 Jan 2013) Log Message BackgroundHTMLParser should go 18% faster on html-parser-srcdoc benchmark https://bugs.webkit.org/show_bug.cgi?id=107201 Reviewed by Tony Gentilcore. Prior to this patch, we would tokenize all the input before delivering any tokens to the main thread. Effectively, that prevented the background parser from running in parallel with the main thread. This patch causes us to send tokens to the main thread periodically. The constant in this patch is somewhat arbitrary. We'll need to tune it later with more realistic workloads. This patch improves the performance of the html-parser-srcdoc benchmark by 18%. (This patch is based on Eric's work in https://github.com/tonygentilcore/webkit/commit/072331194520c7770b5e34baefa948834971.) * html/parser/BackgroundHTMLParser.cpp: (WebCore): (WebCore::BackgroundHTMLParser::pumpTokenizer): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (140078 => 140079) --- trunk/Source/WebCore/ChangeLog 2013-01-18 01:58:12 UTC (rev 140078) +++ trunk/Source/WebCore/ChangeLog 2013-01-18 02:00:52 UTC (rev 140079) @@ -1,3 +1,27 @@ +2013-01-17 Adam Barth aba...@webkit.org + +BackgroundHTMLParser should go 18% faster on html-parser-srcdoc benchmark +https://bugs.webkit.org/show_bug.cgi?id=107201 + +Reviewed by Tony Gentilcore. + +Prior to this patch, we would tokenize all the input before delivering +any tokens to the main thread. Effectively, that prevented the +background parser from running in parallel with the main thread. + +This patch causes us to send tokens to the main thread periodically. +The constant in this patch is somewhat arbitrary. We'll need to tune it +later with more realistic workloads. + +This patch improves the performance of the html-parser-srcdoc benchmark +by 18%. (This patch is based on Eric's work in +https://github.com/tonygentilcore/webkit/commit/072331194520c7770b5e34baefa948834971.) + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): + 2013-01-17 Matt Falkenhagen fal...@chromium.org Top layer fails for inline elements Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (140078 => 140079) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-18 01:58:12 UTC (rev 140078) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-18 02:00:52 UTC (rev 140079) @@ -47,6 +47,9 @@ #endif +// FIXME: Tune this constant based on a benchmark. The current value was choosen arbitrarily. +static const size_t pendingTokenLimit = 4000; + typedef const void* ParserIdentifier; class HTMLDocumentParser; @@ -157,12 +160,11 @@ // FIXME: Need to set setForceNullCharacterReplacement based on m_inForeignContent as well. m_tokenizer-setShouldAllowCDATA(m_inForeignContent); m_token.clear(); + +if (m_pendingTokens.size() = pendingTokenLimit) +sendTokensToMainThread(); } -#ifndef NDEBUG -checkThatTokensAreSafeToSendToAnotherThread(m_pendingTokens); -#endif - sendTokensToMainThread(); } @@ -199,6 +201,15 @@ void BackgroundHTMLParser::sendTokensToMainThread() { +if (m_pendingTokens.isEmpty()) { +ASSERT(!m_isPausedWaitingForScripts); +return; +} + +#ifndef NDEBUG +checkThatTokensAreSafeToSendToAnotherThread(m_pendingTokens); +#endif + TokenDelivery* delivery = new TokenDelivery; delivery-identifier = m_parserIdentifer; delivery-tokens.swap(m_pendingTokens); ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [139938] trunk/Source/WebCore
Title: [139938] trunk/Source/WebCore Revision 139938 Author aba...@webkit.org Date 2013-01-16 17:18:26 -0800 (Wed, 16 Jan 2013) Log Message Teach HTMLParserOptions about Settings::threadedHTMLParser https://bugs.webkit.org/show_bug.cgi?id=107068 Reviewed by Tony Gentilcore. We use this option to enable the threaded HTML parser at runtime. * html/parser/HTMLParserOptions.cpp: (WebCore::HTMLParserOptions::HTMLParserOptions): * html/parser/HTMLParserOptions.h: (HTMLParserOptions): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp trunk/Source/WebCore/html/parser/HTMLParserOptions.h Diff Modified: trunk/Source/WebCore/ChangeLog (139937 => 139938) --- trunk/Source/WebCore/ChangeLog 2013-01-17 01:11:15 UTC (rev 139937) +++ trunk/Source/WebCore/ChangeLog 2013-01-17 01:18:26 UTC (rev 139938) @@ -1,3 +1,17 @@ +2013-01-16 Adam Barth aba...@webkit.org + +Teach HTMLParserOptions about Settings::threadedHTMLParser +https://bugs.webkit.org/show_bug.cgi?id=107068 + +Reviewed by Tony Gentilcore. + +We use this option to enable the threaded HTML parser at runtime. + +* html/parser/HTMLParserOptions.cpp: +(WebCore::HTMLParserOptions::HTMLParserOptions): +* html/parser/HTMLParserOptions.h: +(HTMLParserOptions): + 2013-01-16 Brady Eidson beid...@apple.com Synchronous XMLHTTPRequests need to go to the NetworkProcess. Modified: trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp (139937 => 139938) --- trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp 2013-01-17 01:11:15 UTC (rev 139937) +++ trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp 2013-01-17 01:18:26 UTC (rev 139938) @@ -40,6 +40,9 @@ Settings* settings = document ? document-settings() : 0; usePreHTML5ParserQuirks = settings settings-usePreHTML5ParserQuirks(); +#if ENABLE(THREADED_HTML_PARSER) +useThreading = settings settings-threadedHTMLParser(); +#endif maximumDOMTreeDepth = settings ? settings-maximumHTMLParserDOMTreeDepth() : Settings::defaultMaximumHTMLParserDOMTreeDepth; } Modified: trunk/Source/WebCore/html/parser/HTMLParserOptions.h (139937 => 139938) --- trunk/Source/WebCore/html/parser/HTMLParserOptions.h 2013-01-17 01:11:15 UTC (rev 139937) +++ trunk/Source/WebCore/html/parser/HTMLParserOptions.h 2013-01-17 01:18:26 UTC (rev 139938) @@ -35,6 +35,9 @@ bool scriptEnabled; bool pluginsEnabled; bool usePreHTML5ParserQuirks; +#if ENABLE(THREADED_HTML_PARSER) +bool useThreading; +#endif unsigned maximumDOMTreeDepth; explicit HTMLParserOptions(Document*); ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [139944] trunk/Source/WebCore
Title: [139944] trunk/Source/WebCore Revision 139944 Author aba...@webkit.org Date 2013-01-16 18:05:33 -0800 (Wed, 16 Jan 2013) Log Message Introduce HTMLParserThread to be able to parse on a background thread https://bugs.webkit.org/show_bug.cgi?id=107071 Reviewed by Tony Gentilcore. This patch introduces a simple thread class that we can use to parse HTML. This patch is unlikely to be the final design because we'll likely want to use libdispatch or some other platform-specific thread pool. However, this implementation is enough to let us work on the parser-specific aspects of this feature. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/parser/HTMLParserThread.cpp: Added. (WebCore): (WebCore::HTMLParserThread::HTMLParserThread): (WebCore::HTMLParserThread::~HTMLParserThread): (WebCore::HTMLParserThread::start): (WebCore::HTMLParserThread::stop): (WebCore::HTMLParserThread::shared): (WebCore::HTMLParserThread::postTask): (WebCore::HTMLParserThread::threadStart): (WebCore::HTMLParserThread::runLoop): * html/parser/HTMLParserThread.h: Added. (WebCore): (HTMLParserThread): (WebCore::HTMLParserThread::create): (WebCore::HTMLParserThread::threadId): Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/GNUmakefile.list.am trunk/Source/WebCore/Target.pri trunk/Source/WebCore/WebCore.gypi trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Added Paths trunk/Source/WebCore/html/parser/HTMLParserThread.cpp trunk/Source/WebCore/html/parser/HTMLParserThread.h Diff Modified: trunk/Source/WebCore/CMakeLists.txt (139943 => 139944) --- trunk/Source/WebCore/CMakeLists.txt 2013-01-17 01:57:52 UTC (rev 139943) +++ trunk/Source/WebCore/CMakeLists.txt 2013-01-17 02:05:33 UTC (rev 139944) @@ -1535,6 +1535,7 @@ html/parser/HTMLParserIdioms.cpp html/parser/HTMLParserOptions.cpp html/parser/HTMLParserScheduler.cpp +html/parser/HTMLParserThread.cpp html/parser/HTMLFormattingElementList.cpp html/parser/HTMLMetaCharsetParser.cpp html/parser/HTMLPreloadScanner.cpp Modified: trunk/Source/WebCore/ChangeLog (139943 => 139944) --- trunk/Source/WebCore/ChangeLog 2013-01-17 01:57:52 UTC (rev 139943) +++ trunk/Source/WebCore/ChangeLog 2013-01-17 02:05:33 UTC (rev 139944) @@ -1,3 +1,38 @@ +2013-01-16 Adam Barth aba...@webkit.org + +Introduce HTMLParserThread to be able to parse on a background thread +https://bugs.webkit.org/show_bug.cgi?id=107071 + +Reviewed by Tony Gentilcore. + +This patch introduces a simple thread class that we can use to parse +HTML. This patch is unlikely to be the final design because we'll +likely want to use libdispatch or some other platform-specific thread +pool. However, this implementation is enough to let us work on the +parser-specific aspects of this feature. + +* CMakeLists.txt: +* GNUmakefile.list.am: +* Target.pri: +* WebCore.gypi: +* WebCore.vcproj/WebCore.vcproj: +* WebCore.xcodeproj/project.pbxproj: +* html/parser/HTMLParserThread.cpp: Added. +(WebCore): +(WebCore::HTMLParserThread::HTMLParserThread): +(WebCore::HTMLParserThread::~HTMLParserThread): +(WebCore::HTMLParserThread::start): +(WebCore::HTMLParserThread::stop): +(WebCore::HTMLParserThread::shared): +(WebCore::HTMLParserThread::postTask): +(WebCore::HTMLParserThread::threadStart): +(WebCore::HTMLParserThread::runLoop): +* html/parser/HTMLParserThread.h: Added. +(WebCore): +(HTMLParserThread): +(WebCore::HTMLParserThread::create): +(WebCore::HTMLParserThread::threadId): + 2013-01-16 MORITA Hajime morr...@google.com WebCore::ScriptRunner::timerFired() is reported to crash. Modified: trunk/Source/WebCore/GNUmakefile.list.am (139943 => 139944) --- trunk/Source/WebCore/GNUmakefile.list.am 2013-01-17 01:57:52 UTC (rev 139943) +++ trunk/Source/WebCore/GNUmakefile.list.am 2013-01-17 02:05:33 UTC (rev 139944) @@ -3554,6 +3554,8 @@ Source/WebCore/html/parser/HTMLParserOptions.h \ Source/WebCore/html/parser/HTMLParserScheduler.cpp \ Source/WebCore/html/parser/HTMLParserScheduler.h \ + Source/WebCore/html/parser/HTMLParserThread.cpp \ + Source/WebCore/html/parser/HTMLParserThread.h \ Source/WebCore/html/parser/HTMLPreloadScanner.cpp \ Source/WebCore/html/parser/HTMLPreloadScanner.h \ Source/WebCore/html/parser/HTMLScriptRunner.cpp \ Modified: trunk/Source/WebCore/Target.pri (139943 => 139944) --- trunk/Source/WebCore/Target.pri 2013-01-17 01:57:52 UTC (rev 139943) +++ trunk/Source/WebCore/Target.pri 2013-01-17 02:05:33 UTC (rev 139944) @@ -718,6 +718,7 @@ html/parser/HTMLParserIdioms.cpp \ html/parser/HTMLParserOptions.cpp
[webkit-changes] [139950] trunk/Source/WebCore
Title: [139950] trunk/Source/WebCore Revision 139950 Author aba...@webkit.org Date 2013-01-16 18:55:35 -0800 (Wed, 16 Jan 2013) Log Message Introduce BackgroundHTMLParser for parsing HTML on a background thread https://bugs.webkit.org/show_bug.cgi?id=107083 Reviewed by Eric Seidel. This patch contains a basic version of an HTML parser that runs on a background thread. The parser passes the majority of the tests in fast/parser and a large number of the subtests in html5lib. Notably absent from this early version of the parser is speculation (which will eventually replace preload scanning) and atomization (which we suspect will be important for performance). Our plan is to introduce those elements in subsequent patches. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/parser/BackgroundHTMLParser.cpp: Added. (WebCore): (WebCore::checkThatTokensAreSafeToSendToAnotherThread): (WebCore::parserMap): (WebCore::ParserMap::backgroundParsers): (WebCore::ParserMap::mainThreadParsers): (WebCore::BackgroundHTMLParser::BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::append): (WebCore::BackgroundHTMLParser::continueParsing): (WebCore::BackgroundHTMLParser::finish): (WebCore::BackgroundHTMLParser::pumpTokenizer): (TokenDelivery): (WebCore::TokenDelivery::execute): (WebCore::BackgroundHTMLParser::sendTokensToMainThread): (WebCore::BackgroundHTMLParser::createPartial): (WebCore::BackgroundHTMLParser::stopPartial): (WebCore::BackgroundHTMLParser::appendPartial): (WebCore::BackgroundHTMLParser::continuePartial): (WebCore::BackgroundHTMLParser::finishPartial): * html/parser/BackgroundHTMLParser.h: Added. (WebCore): (BackgroundHTMLParser): (WebCore::BackgroundHTMLParser::create): (ParserMap): (WebCore::ParserMap::identifierForParser): * html/parser/HTMLDocumentParser.cpp: (WebCore): (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser): * html/parser/HTMLDocumentParser.h: (WebCore): (HTMLDocumentParser): Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/GNUmakefile.list.am trunk/Source/WebCore/Target.pri trunk/Source/WebCore/WebCore.gypi trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLDocumentParser.h Added Paths trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h Diff Modified: trunk/Source/WebCore/CMakeLists.txt (139949 => 139950) --- trunk/Source/WebCore/CMakeLists.txt 2013-01-17 02:32:37 UTC (rev 139949) +++ trunk/Source/WebCore/CMakeLists.txt 2013-01-17 02:55:35 UTC (rev 139950) @@ -1526,6 +1526,7 @@ html/canvas/WebGLUniformLocation.cpp html/canvas/WebGLVertexArrayObjectOES.cpp +html/parser/BackgroundHTMLParser.cpp html/parser/CSSPreloadScanner.cpp html/parser/CompactHTMLToken.cpp html/parser/HTMLConstructionSite.cpp Modified: trunk/Source/WebCore/ChangeLog (139949 => 139950) --- trunk/Source/WebCore/ChangeLog 2013-01-17 02:32:37 UTC (rev 139949) +++ trunk/Source/WebCore/ChangeLog 2013-01-17 02:55:35 UTC (rev 139950) @@ -1,3 +1,57 @@ +2013-01-16 Adam Barth aba...@webkit.org + +Introduce BackgroundHTMLParser for parsing HTML on a background thread +https://bugs.webkit.org/show_bug.cgi?id=107083 + +Reviewed by Eric Seidel. + +This patch contains a basic version of an HTML parser that runs on a +background thread. The parser passes the majority of the tests in +fast/parser and a large number of the subtests in html5lib. + +Notably absent from this early version of the parser is speculation +(which will eventually replace preload scanning) and atomization (which +we suspect will be important for performance). Our plan is to introduce +those elements in subsequent patches. + +* CMakeLists.txt: +* GNUmakefile.list.am: +* Target.pri: +* WebCore.gypi: +* WebCore.vcproj/WebCore.vcproj: +* WebCore.xcodeproj/project.pbxproj: +* html/parser/BackgroundHTMLParser.cpp: Added. +(WebCore): +(WebCore::checkThatTokensAreSafeToSendToAnotherThread): +(WebCore::parserMap): +(WebCore::ParserMap::backgroundParsers): +(WebCore::ParserMap::mainThreadParsers): +(WebCore::BackgroundHTMLParser::BackgroundHTMLParser): +(WebCore::BackgroundHTMLParser::append): +(WebCore::BackgroundHTMLParser::continueParsing): +(WebCore::BackgroundHTMLParser::finish): +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(TokenDelivery): +(WebCore::TokenDelivery::execute): +(WebCore::BackgroundHTMLParser::sendTokensToMainThread): +(WebCore::BackgroundHTMLParser::createPartial): +
[webkit-changes] [139954] trunk/Source/WebCore
Title: [139954] trunk/Source/WebCore Revision 139954 Author aba...@webkit.org Date 2013-01-16 19:42:09 -0800 (Wed, 16 Jan 2013) Log Message Address tonyg's feedback on BackgroundHTMLParser https://bugs.webkit.org/show_bug.cgi?id=107086 Reviewed by Tony Gentilcore. As requested in https://bugs.webkit.org/show_bug.cgi?id=107083#c5 * html/parser/BackgroundHTMLParser.cpp: (WebCore::BackgroundHTMLParser::pumpTokenizer): (TokenDelivery): (WebCore::TokenDelivery::TokenDelivery): (WebCore::TokenDelivery::execute): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (139953 => 139954) --- trunk/Source/WebCore/ChangeLog 2013-01-17 03:36:48 UTC (rev 139953) +++ trunk/Source/WebCore/ChangeLog 2013-01-17 03:42:09 UTC (rev 139954) @@ -1,3 +1,18 @@ +2013-01-16 Adam Barth aba...@webkit.org + +Address tonyg's feedback on BackgroundHTMLParser +https://bugs.webkit.org/show_bug.cgi?id=107086 + +Reviewed by Tony Gentilcore. + +As requested in https://bugs.webkit.org/show_bug.cgi?id=107083#c5 + +* html/parser/BackgroundHTMLParser.cpp: +(WebCore::BackgroundHTMLParser::pumpTokenizer): +(TokenDelivery): +(WebCore::TokenDelivery::TokenDelivery): +(WebCore::TokenDelivery::execute): + 2013-01-16 Tony Gentilcore to...@chromium.org Introduce a method to build the tree from a CompactHTMLToken Modified: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (139953 => 139954) --- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-17 03:36:48 UTC (rev 139953) +++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp 2013-01-17 03:42:09 UTC (rev 139954) @@ -103,6 +103,11 @@ if (m_isPausedWaitingForScripts) return; +// It's unclear whether we want to use AtomicStrings on the background +// thread. We will likely eventually use libdispatch to schedule parsing +// in a separate sequenced queue for each HTMLDocumentParser instance. +// Once we do that, the code below will be unsafe because libdispatch +// might schedule us on many different threads. DEFINE_STATIC_LOCAL(AtomicString, iframeTag, (iframe, AtomicString::ConstructFromLiteral)); DEFINE_STATIC_LOCAL(AtomicString, mathTag, (math, AtomicString::ConstructFromLiteral)); DEFINE_STATIC_LOCAL(AtomicString, noembedTag, (noembed, AtomicString::ConstructFromLiteral)); @@ -162,7 +167,10 @@ } class TokenDelivery { +WTF_MAKE_NONCOPYABLE(TokenDelivery); public: +TokenDelivery() { } + ParserIdentifier identifier; VectorCompactHTMLToken tokens; @@ -172,6 +180,9 @@ HTMLDocumentParser* parser = parserMap().mainThreadParsers().get(delivery-identifier); if (parser) parser-didReceiveTokensFromBackgroundParser(delivery-tokens); +// FIXME: Ideally we wouldn't need to call delete manually. Instead +// we would like an API where the message queue owns the tasks and +// takes care of deleting them. delete delivery; } }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [139780] trunk/Source
Title: [139780] trunk/Source Revision 139780 Author aba...@webkit.org Date 2013-01-15 13:35:08 -0800 (Tue, 15 Jan 2013) Log Message Generalize DocumentWeakReference into WTF::WeakPtr https://bugs.webkit.org/show_bug.cgi?id=106854 Reviewed by Darin Adler. Source/WebCore: This patch replaces DocumentWeakReference with WeakPtr. There should be no change in behavior. * dom/Document.cpp: (WebCore): (WebCore::Document::Document): (WebCore::Document::~Document): (WebCore::PerformTaskContext::PerformTaskContext): (PerformTaskContext): (WebCore::Document::didReceiveTask): (WebCore::Document::postTask): (WebCore::Document::reportMemoryUsage): * dom/Document.h: (WebCore): (Document): Source/WTF: This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects must hold a WeakPtrFactory member variable, which clears the WeakPtrs when the object is destructed. The underlying storage is a ThreadSafeRefCounted WeakReference object, which is shared by all the WeakPtrs. WeakPtr is a generalization of DocumentWeakReference, which is used to check whether the Document object is alive when tasks arive on the main thread from worker threads. We plan to use a similar pattern in the threaded HTML parser, but we want to send tasks to objects other than Document. * GNUmakefile.list.am: * WTF.gypi: * WTF.pro: * WTF.vcproj/WTF.vcproj: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/WeakPtr.h: Added. (WeakReference): - The ThreadSafeRefCounted object shared by all the WeakPtr instances. This patch uses ThreadSafeRefCounted so that we can use WeakPtrs to cancel cross-thread messages. (WTF::WeakReference::create): (WTF::WeakReference::get): (WTF::WeakReference::clear): - When the object is destroyed, WeakPtrFactory calls this function to clear all the WeakPtrs. (WTF::WeakReference::WeakReference): (WTF::WeakPtr::WeakPtr): (WTF::WeakPtr::get): - We might want to add implicit conversions and Boolean operators in the future, but I've kept this class simple for now. (WTF::WeakPtrFactory::WeakPtrFactory): (WTF::WeakPtrFactory::~WeakPtrFactory): (WTF::WeakPtrFactory::createWeakPtr): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/GNUmakefile.list.am trunk/Source/WTF/WTF.gypi trunk/Source/WTF/WTF.pro trunk/Source/WTF/WTF.vcproj/WTF.vcproj trunk/Source/WTF/WTF.xcodeproj/project.pbxproj trunk/Source/WTF/wtf/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h Added Paths trunk/Source/WTF/wtf/WeakPtr.h Diff Modified: trunk/Source/WTF/ChangeLog (139779 => 139780) --- trunk/Source/WTF/ChangeLog 2013-01-15 21:34:59 UTC (rev 139779) +++ trunk/Source/WTF/ChangeLog 2013-01-15 21:35:08 UTC (rev 139780) @@ -1,3 +1,47 @@ +2013-01-15 Adam Barth aba...@webkit.org + +Generalize DocumentWeakReference into WTF::WeakPtr +https://bugs.webkit.org/show_bug.cgi?id=106854 + +Reviewed by Darin Adler. + +This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects +must hold a WeakPtrFactory member variable, which clears the WeakPtrs +when the object is destructed. The underlying storage is a +ThreadSafeRefCounted WeakReference object, which is shared by all the +WeakPtrs. + +WeakPtr is a generalization of DocumentWeakReference, which is used to +check whether the Document object is alive when tasks arive on the main +thread from worker threads. We plan to use a similar pattern in the +threaded HTML parser, but we want to send tasks to objects other than +Document. + +* GNUmakefile.list.am: +* WTF.gypi: +* WTF.pro: +* WTF.vcproj/WTF.vcproj: +* WTF.xcodeproj/project.pbxproj: +* wtf/CMakeLists.txt: +* wtf/WeakPtr.h: Added. +(WeakReference): +- The ThreadSafeRefCounted object shared by all the WeakPtr + instances. This patch uses ThreadSafeRefCounted so that we can + use WeakPtrs to cancel cross-thread messages. +(WTF::WeakReference::create): +(WTF::WeakReference::get): +(WTF::WeakReference::clear): +- When the object is destroyed, WeakPtrFactory calls this function + to clear all the WeakPtrs. +(WTF::WeakReference::WeakReference): +(WTF::WeakPtr::WeakPtr): +(WTF::WeakPtr::get): +- We might want to add implicit conversions and Boolean operators + in the future, but I've kept this class simple for now. +(WTF::WeakPtrFactory::WeakPtrFactory): +(WTF::WeakPtrFactory::~WeakPtrFactory): +(WTF::WeakPtrFactory::createWeakPtr): + 2013-01-12 Csaba Osztrogonác o...@webkit.org Use __sync_add_and_fetch instead of __gnu_cxx::__exchange_and_add Modified: trunk/Source/WTF/GNUmakefile.list.am (139779 => 139780) --- trunk/Source/WTF/GNUmakefile.list.am 2013-01-15 21:34:59 UTC
[webkit-changes] [139367] trunk/Source
Title: [139367] trunk/Source Revision 139367 Author aba...@webkit.org Date 2013-01-10 14:06:20 -0800 (Thu, 10 Jan 2013) Log Message Add an ENABLE macro and a WebCore::Setting for the threaded parser https://bugs.webkit.org/show_bug.cgi?id=106595 Reviewed by Benjamin Poulain. Source/WebCore: This patch adds both a WebCore::Setting and an ENABLE macro for the threaded parser. We plan to keep the ENABLE macro off by default for a while. The runtime setting will let us more easily conduct A/B experiments when the time arises. * page/Settings.in: Source/WebKit/chromium: Explicitly disable THREADED_HTML_PARSER for Chromium so that we can more easily enable it locally. * features.gypi: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Settings.in trunk/Source/WebKit/chromium/ChangeLog trunk/Source/WebKit/chromium/features.gypi Diff Modified: trunk/Source/WebCore/ChangeLog (139366 => 139367) --- trunk/Source/WebCore/ChangeLog 2013-01-10 21:58:39 UTC (rev 139366) +++ trunk/Source/WebCore/ChangeLog 2013-01-10 22:06:20 UTC (rev 139367) @@ -1,3 +1,17 @@ +2013-01-10 Adam Barth aba...@webkit.org + +Add an ENABLE macro and a WebCore::Setting for the threaded parser +https://bugs.webkit.org/show_bug.cgi?id=106595 + +Reviewed by Benjamin Poulain. + +This patch adds both a WebCore::Setting and an ENABLE macro for the +threaded parser. We plan to keep the ENABLE macro off by default for a +while. The runtime setting will let us more easily conduct A/B +experiments when the time arises. + +* page/Settings.in: + 2013-01-10 Xianzhu Wang wangxian...@chromium.org Regression(r129944): Heap-use-after-free in WebCore::computeNonFastScrollableRegion Modified: trunk/Source/WebCore/page/Settings.in (139366 => 139367) --- trunk/Source/WebCore/page/Settings.in 2013-01-10 21:58:39 UTC (rev 139366) +++ trunk/Source/WebCore/page/Settings.in 2013-01-10 22:06:20 UTC (rev 139367) @@ -154,6 +154,8 @@ syncXHRInDocumentsEnabled initial=true cookieEnabled initial=true +threadedHTMLParser initial=false, conditional=THREADED_HTML_PARSER + # When enabled, window.blur() does not change focus, and # window.focus() only changes focus when invoked from the context that # created the window. Modified: trunk/Source/WebKit/chromium/ChangeLog (139366 => 139367) --- trunk/Source/WebKit/chromium/ChangeLog 2013-01-10 21:58:39 UTC (rev 139366) +++ trunk/Source/WebKit/chromium/ChangeLog 2013-01-10 22:06:20 UTC (rev 139367) @@ -1,3 +1,15 @@ +2013-01-10 Adam Barth aba...@webkit.org + +Add an ENABLE macro and a WebCore::Setting for the threaded parser +https://bugs.webkit.org/show_bug.cgi?id=106595 + +Reviewed by Benjamin Poulain. + +Explicitly disable THREADED_HTML_PARSER for Chromium so that we can +more easily enable it locally. + +* features.gypi: + 2013-01-10 John Mellor joh...@chromium.org Fix scale of screen.width, window.outerWidth and @media device-width when page scale not applied in compositor. Modified: trunk/Source/WebKit/chromium/features.gypi (139366 => 139367) --- trunk/Source/WebKit/chromium/features.gypi 2013-01-10 21:58:39 UTC (rev 139366) +++ trunk/Source/WebKit/chromium/features.gypi 2013-01-10 22:06:20 UTC (rev 139367) @@ -115,10 +115,11 @@ 'ENABLE_SVG_FONTS=(enable_svg)', 'ENABLE_TEMPLATE_ELEMENT=1', 'ENABLE_TEXT_AUTOSIZING=1', + 'ENABLE_THREADED_HTML_PARSER=0', 'ENABLE_TOUCH_ADJUSTMENT=1', 'ENABLE_TOUCH_EVENTS=(enable_touch_events)', + 'ENABLE_TOUCH_EVENT_TRACKING=(enable_touch_events)', 'ENABLE_TOUCH_ICON_LOADING=(enable_touch_icon_loading)', - 'ENABLE_TOUCH_EVENT_TRACKING=(enable_touch_events)', 'ENABLE_TOUCH_SLIDER=1', 'ENABLE_USER_TIMING=1', 'ENABLE_V8_SCRIPT_DEBUG_SERVER=1', ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [139042] trunk/Source/WebCore
Title: [139042] trunk/Source/WebCore Revision 139042 Author aba...@webkit.org Date 2013-01-08 00:23:01 -0800 (Tue, 08 Jan 2013) Log Message HTMLTreeBuilder shouldn't keep a Document pointer https://bugs.webkit.org/show_bug.cgi?id=106268 Reviewed by Eric Seidel. The tree builder shouldn't interact with the Document directly. Instead, the tree builder should use the HTMLConstructionSite to interact with the document. Unfortunately, the HTMLTreeBuilder does need to read back one bit of information (the quirks mode) from the Document. Currently the HTMLConstructionSite reads the information directly from the Document. If/when we move the parser onto its own thread, we'll need to keep track of this bit on the parser thread. (We should be able to encapsulate all that logic in the HTMLConstructionSite.) * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::setDefaultCompatibilityMode): (WebCore): (WebCore::HTMLConstructionSite::finishedParsing): (WebCore::HTMLConstructionSite::inQuirksMode): * html/parser/HTMLConstructionSite.h: (HTMLConstructionSite): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::detach): (WebCore::HTMLTreeBuilder::processStartTagForInBody): (WebCore::HTMLTreeBuilder::defaultForInitial): (WebCore::HTMLTreeBuilder::finished): * html/parser/HTMLTreeBuilder.h: (HTMLTreeBuilder): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp trunk/Source/WebCore/html/parser/HTMLConstructionSite.h trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h Diff Modified: trunk/Source/WebCore/ChangeLog (139041 => 139042) --- trunk/Source/WebCore/ChangeLog 2013-01-08 08:15:16 UTC (rev 139041) +++ trunk/Source/WebCore/ChangeLog 2013-01-08 08:23:01 UTC (rev 139042) @@ -1,3 +1,37 @@ +2013-01-08 Adam Barth aba...@webkit.org + +HTMLTreeBuilder shouldn't keep a Document pointer +https://bugs.webkit.org/show_bug.cgi?id=106268 + +Reviewed by Eric Seidel. + +The tree builder shouldn't interact with the Document directly. +Instead, the tree builder should use the HTMLConstructionSite to +interact with the document. + +Unfortunately, the HTMLTreeBuilder does need to read back one bit of +information (the quirks mode) from the Document. Currently the +HTMLConstructionSite reads the information directly from the Document. +If/when we move the parser onto its own thread, we'll need to keep +track of this bit on the parser thread. (We should be able to +encapsulate all that logic in the HTMLConstructionSite.) + +* html/parser/HTMLConstructionSite.cpp: +(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode): +(WebCore): +(WebCore::HTMLConstructionSite::finishedParsing): +(WebCore::HTMLConstructionSite::inQuirksMode): +* html/parser/HTMLConstructionSite.h: +(HTMLConstructionSite): +* html/parser/HTMLTreeBuilder.cpp: +(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): +(WebCore::HTMLTreeBuilder::detach): +(WebCore::HTMLTreeBuilder::processStartTagForInBody): +(WebCore::HTMLTreeBuilder::defaultForInitial): +(WebCore::HTMLTreeBuilder::finished): +* html/parser/HTMLTreeBuilder.h: +(HTMLTreeBuilder): + 2013-01-08 Yuki Sekiguchi yuki.sekigu...@access-company.com Float block's logical top margin is illegal in vertical writing mode. Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp (139041 => 139042) --- trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp 2013-01-08 08:15:16 UTC (rev 139041) +++ trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp 2013-01-08 08:23:01 UTC (rev 139042) @@ -225,6 +225,20 @@ mergeAttributesFromTokenIntoElement(token, m_openElements.bodyElement()); } +void HTMLConstructionSite::setDefaultCompatibilityMode() +{ +if (m_isParsingFragment) +return; +if (m_document-isSrcdocDocument()) +return; +m_document-setCompatibilityMode(Document::QuirksMode); +} + +void HTMLConstructionSite::finishedParsing() +{ +m_document-finishedParsing(); +} + void HTMLConstructionSite::insertDoctype(AtomicHTMLToken* token) { ASSERT(token-type() == HTMLTokenTypes::DOCTYPE); @@ -480,6 +494,12 @@ m_openElements.pop(); } +bool HTMLConstructionSite::inQuirksMode() +{ +// When we move the parser onto a background thread, we'll need to keep track of this bit on the parser thread. +return m_document-inQuirksMode(); +} + void HTMLConstructionSite::findFosterSite(HTMLConstructionSiteTask task) { #if ENABLE(TEMPLATE_ELEMENT) Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.h (139041 => 139042) --- trunk/Source/WebCore/html/parser/HTMLConstructionSite.h 2013-01-08 08:15:16 UTC (rev 139041) +++
[webkit-changes] [139020] trunk
Title: [139020] trunk Revision 139020 Author aba...@webkit.org Date 2013-01-07 17:21:43 -0800 (Mon, 07 Jan 2013) Log Message HTMLTreeBuilder should not depend on Frame https://bugs.webkit.org/show_bug.cgi?id=106256 Reviewed by Eric Seidel. Source/WebCore: Rather than have the tree builder ask the Frame whether scripting and plugins are enabled, we now push that information to the tree builder via HTMLParserOptions, letting us remove the Frame dependency from the tree builder. As a consequence of this change, the script enabled bit in the parser is now locked in when the parser starts. This bit doesn't actually control when script execute, only how the noscript element is parsed. * html/parser/HTMLDocumentParser.cpp: (WebCore::tokenizerStateForContextElement): (WebCore::HTMLDocumentParser::HTMLDocumentParser): * html/parser/HTMLMetaCharsetParser.cpp: (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): * html/parser/HTMLParserOptions.cpp: (WebCore::HTMLParserOptions::HTMLParserOptions): * html/parser/HTMLParserOptions.h: (HTMLParserOptions): (WebCore::HTMLParserOptions::HTMLParserOptions): * html/parser/HTMLPreloadScanner.cpp: (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): (WebCore::HTMLPreloadScanner::processToken): * html/parser/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::HTMLTokenizer): (WebCore::HTMLTokenizer::nextToken): (WebCore::HTMLTokenizer::updateStateFor): * html/parser/HTMLTokenizer.h: (WebCore::HTMLTokenizer::create): (HTMLTokenizer): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processStartTagForInBody): (WebCore::HTMLTreeBuilder::processStartTagForInHead): * html/parser/HTMLTreeBuilder.h: * html/parser/HTMLViewSourceParser.cpp: (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): (WebCore::HTMLViewSourceParser::updateTokenizerState): LayoutTests: I needed to update this test slightly because now we lock in the script enabled bit for the parser when the parser starts. That means we'll parse the document in a consistent way even if the script enabled bit gets flipped later. * fast/parser/noscript-with-_javascript_-disabled-expected.txt: * fast/parser/noscript-with-_javascript_-disabled.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled-expected.txt trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp trunk/Source/WebCore/html/parser/HTMLParserOptions.h trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp trunk/Source/WebCore/html/parser/HTMLTokenizer.cpp trunk/Source/WebCore/html/parser/HTMLTokenizer.h trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h trunk/Source/WebCore/html/parser/HTMLViewSourceParser.cpp Diff Modified: trunk/LayoutTests/ChangeLog (139019 => 139020) --- trunk/LayoutTests/ChangeLog 2013-01-08 01:19:30 UTC (rev 139019) +++ trunk/LayoutTests/ChangeLog 2013-01-08 01:21:43 UTC (rev 139020) @@ -1,3 +1,18 @@ +2013-01-07 Adam Barth aba...@webkit.org + +HTMLTreeBuilder should not depend on Frame +https://bugs.webkit.org/show_bug.cgi?id=106256 + +Reviewed by Eric Seidel. + +I needed to update this test slightly because now we lock in the +script enabled bit for the parser when the parser starts. That means +we'll parse the document in a consistent way even if the script +enabled bit gets flipped later. + +* fast/parser/noscript-with-_javascript_-disabled-expected.txt: +* fast/parser/noscript-with-_javascript_-disabled.html: + 2013-01-07 Tony Chang t...@chromium.org Remove more internals.settings that are autogenerated Modified: trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled-expected.txt (139019 => 139020) --- trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled-expected.txt 2013-01-08 01:19:30 UTC (rev 139019) +++ trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled-expected.txt 2013-01-08 01:21:43 UTC (rev 139020) @@ -1,2 +1,6 @@ -This test case verifies that contents inside noscript are rendered when _javascript_ is disabled. -Succeeded! +The text inside the 'noscript' tag inside the iframe should render: + + +Frame: '!--framePath //!--frame0' + +PASS: This test case verifies that contents inside are rendered when _javascript_ is disabled. Modified: trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled.html (139019 => 139020) --- trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled.html 2013-01-08 01:19:30 UTC (rev 139019) +++ trunk/LayoutTests/fast/parser/noscript-with-_javascript_-disabled.html 2013-01-08 01:21:43 UTC (rev 139020) @@ -1,17 +1,24 @@ html
[webkit-changes] [138855] trunk/Source/WebCore
Title: [138855] trunk/Source/WebCore Revision 138855 Author aba...@webkit.org Date 2013-01-04 14:18:28 -0800 (Fri, 04 Jan 2013) Log Message HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements https://bugs.webkit.org/show_bug.cgi?id=106128 Reviewed by Eric Seidel. Even if we move the HTML parser onto a background thread, we're likely to keep fragment parsing on the main thread. These code paths touch elements (which only exist on the main thread) but are only used during fragment parsing. This patch adds ASSERTs to document that invariant. * html/parser/HTMLTreeBuilder.cpp: (WebCore::closestFormAncestor): (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (138854 => 138855) --- trunk/Source/WebCore/ChangeLog 2013-01-04 22:01:44 UTC (rev 138854) +++ trunk/Source/WebCore/ChangeLog 2013-01-04 22:18:28 UTC (rev 138855) @@ -1,3 +1,19 @@ +2013-01-04 Adam Barth aba...@webkit.org + +HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements +https://bugs.webkit.org/show_bug.cgi?id=106128 + +Reviewed by Eric Seidel. + +Even if we move the HTML parser onto a background thread, we're likely +to keep fragment parsing on the main thread. These code paths touch +elements (which only exist on the main thread) but are only used during +fragment parsing. This patch adds ASSERTs to document that invariant. + +* html/parser/HTMLTreeBuilder.cpp: +(WebCore::closestFormAncestor): +(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + 2013-01-04 Zoltan Horvath zol...@webkit.org [CSS Regions] @region rules inside media queries are ignored Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (138854 => 138855) --- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp 2013-01-04 22:01:44 UTC (rev 138854) +++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp 2013-01-04 22:18:28 UTC (rev 138855) @@ -52,6 +52,7 @@ #include XLinkNames.h #include XMLNSNames.h #include XMLNames.h +#include wtf/MainThread.h #include wtf/unicode/CharacterNames.h namespace WebCore { @@ -141,6 +142,7 @@ static HTMLFormElement* closestFormAncestor(Element* element) { +ASSERT(isMainThread()); while (element) { if (element-hasTagName(formTag)) return static_castHTMLFormElement*(element); @@ -295,6 +297,7 @@ , m_scriptToProcessStartPosition(uninitializedPositionValue1()) , m_usePreHTML5ParserQuirks(usePreHTML5ParserQuirks) { +ASSERT(isMainThread()); // FIXME: This assertion will become invalid if http://webkit.org/b/60316 is fixed. ASSERT(contextElement); if (contextElement) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [138677] trunk/Source/WebCore
Title: [138677] trunk/Source/WebCore Revision 138677 Author aba...@webkit.org Date 2013-01-02 16:30:50 -0800 (Wed, 02 Jan 2013) Log Message [V8] There are some extra blank lines after removing INC_STATS https://bugs.webkit.org/show_bug.cgi?id=105964 Reviewed by Ojan Vafai. This patch is a followup to http://trac.webkit.org/changeset/138665 that removes some extra blank lines that sed wasn't smart enough to delete for us. * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): * bindings/v8/custom/V8DOMFormDataCustom.cpp: (WebCore::V8DOMFormData::appendCallback): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::addEventListenerCallback): (WebCore::V8DOMWindow::removeEventListenerCallback): (WebCore::V8DOMWindow::postMessageCallback): * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback): * bindings/v8/custom/V8DocumentCustom.cpp: (WebCore::V8Document::evaluateCallback): * bindings/v8/custom/V8GeolocationCustom.cpp: (WebCore::V8Geolocation::getCurrentPositionCallback): (WebCore::V8Geolocation::watchPositionCallback): * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: (WebCore::V8HTMLAllCollection::namedPropertyGetter): * bindings/v8/custom/V8HTMLCollectionCustom.cpp: (WebCore::V8HTMLCollection::namedPropertyGetter): * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp: (WebCore::V8HTMLFormControlsCollection::namedPropertyGetter): * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: (WebCore::v8HTMLImageElementConstructorCallback): * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: (WebCore::V8HTMLOptionsCollection::namedPropertyGetter): * bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback): * bindings/v8/custom/V8NamedNodeMapCustom.cpp: (WebCore::V8NamedNodeMap::namedPropertyGetter): * bindings/v8/custom/V8NotificationCustom.cpp: (WebCore::V8Notification::requestPermissionCallback): * bindings/v8/custom/V8PopStateEventCustom.cpp: (WebCore::V8PopStateEvent::stateAccessorGetter): * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: (WebCore::V8SQLResultSetRowList::itemCallback): * bindings/v8/custom/V8SQLTransactionCustom.cpp: (WebCore::V8SQLTransaction::executeSqlCallback): * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: (WebCore::V8SQLTransactionSync::executeSqlCallback): * bindings/v8/custom/V8StorageCustom.cpp: (WebCore::V8Storage::namedPropertyQuery): * bindings/v8/custom/V8StyleSheetListCustom.cpp: (WebCore::V8StyleSheetList::namedPropertyGetter): * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): (WebCore::V8WebGLRenderingContext::getParameterCallback): (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): (WebCore::V8WebGLRenderingContext::getUniformCallback): * bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8DOMFormDataCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8GeolocationCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp trunk/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8MessagePortCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8NotificationCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8SQLResultSetRowListCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8StorageCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp trunk/Source/WebCore/bindings/v8/custom/V8WorkerCustom.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (138676 => 138677) --- trunk/Source/WebCore/ChangeLog 2013-01-03 00:26:37 UTC (rev 138676) +++ trunk/Source/WebCore/ChangeLog 2013-01-03 00:30:50 UTC (rev 138677) @@ -1,3 +1,67 @@ +2013-01-02 Adam Barth aba...@webkit.org + +[V8] There are some extra blank lines after removing
[webkit-changes] [138682] trunk/Source/WebCore
Title: [138682] trunk/Source/WebCore Revision 138682 Author aba...@webkit.org Date 2013-01-02 17:04:29 -0800 (Wed, 02 Jan 2013) Log Message [V8] V8DOMWrapper.cpp has many more includes than necessary https://bugs.webkit.org/show_bug.cgi?id=105968 Reviewed by Kentaro Hara. Now that this file isn't in charge of doing everything under the sun, it can have a more focused set of include directives. * bindings/v8/V8DOMWrapper.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (138681 => 138682) --- trunk/Source/WebCore/ChangeLog 2013-01-03 01:00:35 UTC (rev 138681) +++ trunk/Source/WebCore/ChangeLog 2013-01-03 01:04:29 UTC (rev 138682) @@ -1,3 +1,15 @@ +2013-01-02 Adam Barth aba...@webkit.org + +[V8] V8DOMWrapper.cpp has many more includes than necessary +https://bugs.webkit.org/show_bug.cgi?id=105968 + +Reviewed by Kentaro Hara. + +Now that this file isn't in charge of doing everything under the sun, +it can have a more focused set of include directives. + +* bindings/v8/V8DOMWrapper.cpp: + 2013-01-02 Gyuyoung Kim gyuyoung@samsung.com [EFL][CMAKE] Remove duplicated conditionals Modified: trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp (138681 => 138682) --- trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp 2013-01-03 01:00:35 UTC (rev 138681) +++ trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp 2013-01-03 01:04:29 UTC (rev 138682) @@ -31,38 +31,15 @@ #include config.h #include V8DOMWrapper.h -#include wtf/ArrayBufferView.h -#include DocumentLoader.h -#include Frame.h -#include FrameLoaderClient.h -#include StylePropertySet.h -#include V8AbstractEventListener.h #include V8Binding.h -#include V8Collection.h #include V8DOMWindow.h -#include V8EventListener.h #include V8EventListenerList.h #include V8HTMLCollection.h #include V8HTMLDocument.h #include V8HiddenPropertyName.h -#include V8Location.h -#include V8NamedNodeMap.h -#include V8NodeFilterCondition.h -#include V8NodeList.h #include V8ObjectConstructor.h #include V8PerContextData.h -#include V8StyleSheet.h #include V8WorkerContextEventListener.h -#include WebGLContextAttributes.h -#include WebGLUniformLocation.h -#include WrapperTypeInfo.h -#include algorithm -#include utility -#include v8-debug.h -#include wtf/Assertions.h -#include wtf/OwnArrayPtr.h -#include wtf/StdLibExtras.h -#include wtf/UnusedParam.h namespace WebCore { ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [138628] trunk/Source/WTF
Title: [138628] trunk/Source/WTF Revision 138628 Author aba...@webkit.org Date 2013-01-02 12:00:47 -0800 (Wed, 02 Jan 2013) Log Message WTF.gypi lists Platform.h twice https://bugs.webkit.org/show_bug.cgi?id=105731 Reviewed by Tony Chang. Once ought to be enough for everybody. * WTF.gypi: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/WTF.gypi Diff Modified: trunk/Source/WTF/ChangeLog (138627 => 138628) --- trunk/Source/WTF/ChangeLog 2013-01-02 19:48:28 UTC (rev 138627) +++ trunk/Source/WTF/ChangeLog 2013-01-02 20:00:47 UTC (rev 138628) @@ -1,3 +1,14 @@ +2013-01-02 Adam Barth aba...@webkit.org + +WTF.gypi lists Platform.h twice +https://bugs.webkit.org/show_bug.cgi?id=105731 + +Reviewed by Tony Chang. + +Once ought to be enough for everybody. + +* WTF.gypi: + 2012-12-31 Gavin Barraclough barraclo...@apple.com Objective-C API for _javascript_Core Modified: trunk/Source/WTF/WTF.gypi (138627 => 138628) --- trunk/Source/WTF/WTF.gypi 2013-01-02 19:48:28 UTC (rev 138627) +++ trunk/Source/WTF/WTF.gypi 2013-01-02 20:00:47 UTC (rev 138628) @@ -81,7 +81,6 @@ 'wtf/PassRefPtr.h', 'wtf/PassTraits.h', 'wtf/Platform.h', -'wtf/Platform.h', 'wtf/PossiblyNull.h', 'wtf/PrintStream.h', 'wtf/RandomNumber.h', ___ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [138634] trunk/Tools
Title: [138634] trunk/Tools Revision 138634 Author aba...@webkit.org Date 2013-01-02 12:37:53 -0800 (Wed, 02 Jan 2013) Log Message Remove old-run-webkit-tests support from webkitpy https://bugs.webkit.org/show_bug.cgi?id=105619 Reviewed by Eric Seidel. This patch removes support for webkitpy parsing the old-run-webkit-tests results format. There doesn't seem to be any reason to keep this code around anymore now that most bots have switched to new-run-webkit-tests. * Scripts/webkitpy/common/net/buildbot/buildbot.py: (Builder.fetch_layout_test_results): * Scripts/webkitpy/common/net/layouttestresults.py: (path_for_layout_test): (LayoutTestResults.results_from_string): (LayoutTestResults): * Scripts/webkitpy/common/net/layouttestresults_unittest.py: (LayoutTestResultsTest.test_results_from_string): * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: (test_flaky_test_failure): * Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py: (LayoutTestResultsReaderTest.test_missing_layout_test_results): * Scripts/webkitpy/tool/bot/patchanalysistask.py: (PatchAnalysisTask._test_patch): * Scripts/webkitpy/tool/commands/queuestest.py: (QueuesTest.assert_queue_outputs): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py trunk/Tools/Scripts/webkitpy/common/net/layouttestresults.py trunk/Tools/Scripts/webkitpy/common/net/layouttestresults_unittest.py trunk/Tools/Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py trunk/Tools/Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py trunk/Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py trunk/Tools/Scripts/webkitpy/tool/commands/queuestest.py Diff Modified: trunk/Tools/ChangeLog (138633 => 138634) --- trunk/Tools/ChangeLog 2013-01-02 20:33:18 UTC (rev 138633) +++ trunk/Tools/ChangeLog 2013-01-02 20:37:53 UTC (rev 138634) @@ -1,3 +1,32 @@ +2013-01-02 Adam Barth aba...@webkit.org + +Remove old-run-webkit-tests support from webkitpy +https://bugs.webkit.org/show_bug.cgi?id=105619 + +Reviewed by Eric Seidel. + +This patch removes support for webkitpy parsing the +old-run-webkit-tests results format. There doesn't seem to be any +reason to keep this code around anymore now that most bots have +switched to new-run-webkit-tests. + +* Scripts/webkitpy/common/net/buildbot/buildbot.py: +(Builder.fetch_layout_test_results): +* Scripts/webkitpy/common/net/layouttestresults.py: +(path_for_layout_test): +(LayoutTestResults.results_from_string): +(LayoutTestResults): +* Scripts/webkitpy/common/net/layouttestresults_unittest.py: +(LayoutTestResultsTest.test_results_from_string): +* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: +(test_flaky_test_failure): +* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py: +(LayoutTestResultsReaderTest.test_missing_layout_test_results): +* Scripts/webkitpy/tool/bot/patchanalysistask.py: +(PatchAnalysisTask._test_patch): +* Scripts/webkitpy/tool/commands/queuestest.py: +(QueuesTest.assert_queue_outputs): + 2013-01-02 Heikki Paajanen heikki.paaja...@palm.com [Qt][WK2] Add simple UI to find text from page Modified: trunk/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py (138633 => 138634) --- trunk/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py 2013-01-02 20:33:18 UTC (rev 138633) +++ trunk/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py 2013-01-02 20:37:53 UTC (rev 138634) @@ -85,10 +85,6 @@ def fetch_layout_test_results(self, results_url): # FIXME: This should cache that the result was a 404 and stop hitting the network. results_file = NetworkTransaction(convert_404_to_None=True).run(lambda: self._fetch_file_from_results(results_url, full_results.json)) -if not results_file: -results_file = NetworkTransaction(convert_404_to_None=True).run(lambda: self._fetch_file_from_results(results_url, results.html)) - -# results_from_string accepts either ORWT html or NRWT json. return LayoutTestResults.results_from_string(results_file) def url_encoded_name(self): Modified: trunk/Tools/Scripts/webkitpy/common/net/layouttestresults.py (138633 => 138634) --- trunk/Tools/Scripts/webkitpy/common/net/layouttestresults.py 2013-01-02 20:33:18 UTC (rev 138633) +++ trunk/Tools/Scripts/webkitpy/common/net/layouttestresults.py 2013-01-02 20:37:53 UTC (rev 138634) @@ -25,9 +25,6 @@ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# A module for parsing results.html files generated by old-run-webkit-tests -# This class is one big hack and only needs to exist until we transition to new-run-webkit-tests. import