NRWT should not take memory used as disk cache into account when deciding how many processes to launch
https://bugs.webkit.org/show_bug.cgi?id=81379

Reviewed by Eric Seidel.

The 'free memory' calculation we were running on the mac seemed
to underestimate how many children we can run in parallel, and
it was complex. This patch replaces that calculation with a
simpler one that reserves 2GB for overhead and assumes 256MB per
DRT/WTR, so if we had 4GB of RAM we can run up to 8 DRTs.

Also, there was a bug where we were truncating the memory
installed on the machine to 4GB by casting to an int instead of
a long; this was probably the source of some of the earlier
problems when using total memory.

This patch also removes the no-longer-needed restrictions on the
number of workers on beefy Lion boxes for both Apple Mac and Chromium
Mac; we should now use all of the cores by default.

The memory calculations have only been implemented on the mac;
having the calculation in base.default_child_processes() was IMO
misleading, and so this patch also moves the computation into
the MacPort. I have not heard of the # of workers being an issue
on any other ports, so this should be fine.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.total_bytes_memory):
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(PlatformInfo.total_bytes_memory):
(PlatformInfo.total_bytes_memory):
(PlatformInfo._win_version_tuple_from_cmd):
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_total_bytes_memory):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.default_child_processes):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_default_child_processes):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.operating_system):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.default_child_processes):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(TestMacPort.test_default_child_processes):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline some media controller tests.

* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/video-controls-rendering-expected.txt:
* platform/mac/media/video-display-toggle-expected.txt:
* platform/mac/media/video-no-audio-expected.txt:
* platform/mac/media/video-playing-and-pause-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (NRWT): Results for new non-text-only tests are always put in the most-specific platform directory
https://bugs.webkit.org/show_bug.cgi?id=78127

Reviewed by Ryosuke Niwa.

Add the --add-platform-exceptions flag from ORWT, and ensure
that --new-baseline is equivalent to --reset-results
--add-platform-exceptions. Also fix the default logic for where to
put PNGs and render tree dumps if --new-test-results is true:
if --add-platform-exceptions is False, baselines should go in
the least-specific platform directory (e.g., platform/mac)
rather than the most-specific (platform/mac-snowleopard).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner):
(SingleTestRunner.run):
(SingleTestRunner._run_rebaseline):
(SingleTestRunner._add_missing_baselines):
(SingleTestRunner._location_for_new_baseline):
(SingleTestRunner._overwrite_baselines):
(SingleTestRunner._save_baseline_data):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.baseline_path):
(Port):
(Port.baseline_platform_dir):
(Port.baseline_version_dir):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RebaselineTest.assertBaselines):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix link error with fillWithEmptyClients
https://bugs.webkit.org/show_bug.cgi?id=89484

Patch by Alexandre Elias <aelias@google.com> on 2012-06-19
Reviewed by Ryosuke Niwa.

fillWithEmptyClients() was within #if ENABLE() guard in the .cpp file
but not in the header.  There is now a caller unrelated to these ENABLEs
in WebHelperPluginImpl, so linking fails if both SVG and PAGE_POPUP
are disabled.

This function looks generic, so just remove the ENABLE guards.

No new tests. (Build fix.)

* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GCActivityCallback and IncrementalSweeper should share code
https://bugs.webkit.org/show_bug.cgi?id=89400

Reviewed by Geoffrey Garen.

A lot of functionality is duplicated between GCActivityCallback and IncrementalSweeper.
We should extract the common functionality out into a separate class that both of them
can inherit from. This refactoring will be an even greater boon when we add the ability
to shut these two agents down in a thread-safe fashion

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/Heap.cpp:
(JSC::Heap::Heap): Move initialization down so that the JSGlobalData has a valid Heap when
we're initializing the GCActivityCallback and the IncrementalSweeper.
* heap/Heap.h:
(Heap):
* heap/HeapTimer.cpp: Added.
(JSC):
(JSC::HeapTimer::HeapTimer): Initialize the various base class data that
DefaultGCActivityCallback::commonConstructor() used to do.
(JSC::HeapTimer::~HeapTimer): Call to invalidate().
(JSC::HeapTimer::synchronize): Same functionality as the old DefaultGCActivityCallback::synchronize().
Virtual so that non-CF subclasses can override.
(JSC::HeapTimer::invalidate): Tears down the runloop timer to prevent any future firing.
(JSC::HeapTimer::timerDidFire): Callback to pass to the timer function. Casts and calls the virtual doWork().
* heap/HeapTimer.h: Added. This is the class that serves as the common base class for
both GCActivityCallback and IncrementalSweeper. It handles setting up and tearing down run loops and synchronizing
across threads for its subclasses.
(JSC):
(HeapTimer):
* heap/IncrementalSweeper.cpp: Changes to accomodate the extraction of common functionality
between IncrementalSweeper and GCActivityCallback into a common ancestor.
(JSC):
(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::cancelTimer):
(JSC::IncrementalSweeper::create):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):
* runtime/GCActivityCallback.cpp:
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
* runtime/GCActivityCallback.h:
(GCActivityCallback):
(JSC::GCActivityCallback::willCollect):
(JSC::GCActivityCallback::GCActivityCallback):
(JSC):
(DefaultGCActivityCallback): Remove the platform data struct. The platform data should be kept in
the class itself so as to be accessible by doWork(). Most of the platform data for CF is kept in
HeapTimer anyways, so we only need the m_delay field now.
* runtime/GCActivityCallbackBlackBerry.cpp:
(JSC):
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::didAllocate):
* runtime/GCActivityCallbackCF.cpp:
(JSC):
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::scheduleTimer):
(JSC::DefaultGCActivityCallback::cancelTimer):
(JSC::DefaultGCActivityCallback::didAllocate):
(JSC::DefaultGCActivityCallback::willCollect):
(JSC::DefaultGCActivityCallback::cancel):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix regression introduced in r120646 where the svn revision isn't saved in results.json

Unreviewed, build fix.

It turns out that we store the svn revision two different ways
in the JSON, and I only caught one of them :(. This should fix
the other.

Also, this part of the code is poorly tested. I will investigate
adding at least a basic test for this in a separate fix.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(summarize_results):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adds DeviceMotionClientMock
https://bugs.webkit.org/show_bug.cgi?id=89220

Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-19
Reviewed by Steve Block.

Adds DeviceMotionClientMock in WebCore to enable testing of DeviceMotion once it is fully implemented in WebKit.
This addition was originally included in https://bugs.webkit.org/show_bug.cgi?id=89197 but was split into a separate patch for easier review.

No new tests because DeviceMotionClientMock is designed to enable future testing and cannot be tested in itself.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/mock/DeviceMotionClientMock.cpp: Added.
(WebCore):
(WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
(WebCore::DeviceMotionClientMock::setController):
(WebCore::DeviceMotionClientMock::startUpdating):
(WebCore::DeviceMotionClientMock::stopUpdating):
(WebCore::DeviceMotionClientMock::setMotion):
(WebCore::DeviceMotionClientMock::timerFired):
* platform/mock/DeviceMotionClientMock.h: Added.
(WebCore):
(DeviceMotionClientMock):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
It should be possible to look at disassembly
https://bugs.webkit.org/show_bug.cgi?id=89319

Source/JavaScriptCore: 

Reviewed by Sam Weinig.
        
This imports the udis86 disassembler library. The library is placed
behind an abstraction in disassembler/Disassembler.h, so that we can
in the future use other disassemblers (for other platforms) whenever
appropriate. As a first step, the disassembler is being invoked for
DFG verbose dumps.
        
If we ever want to merge a new version of udis86 in the future, I've
made notes about changes I made to the library in
disassembler/udis86/differences.txt.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.list.am:
* JavaScriptCore.pri:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
* disassembler: Added.
* disassembler/Disassembler.h: Added.
(JSC):
(JSC::tryToDisassemble):
* disassembler/UDis86Disassembler.cpp: Added.
(JSC):
(JSC::tryToDisassemble):
* disassembler/udis86: Added.
* disassembler/udis86/differences.txt: Added.
* disassembler/udis86/itab.py: Added.
(UdItabGenerator):
(UdItabGenerator.__init__):
(UdItabGenerator.toGroupId):
(UdItabGenerator.genLookupTable):
(UdItabGenerator.genLookupTableList):
(UdItabGenerator.genInsnTable):
(genItabH):
(genItabH.UD_ITAB_H):
(genItabC):
(genItab):
(main):
* disassembler/udis86/optable.xml: Added.
* disassembler/udis86/ud_opcode.py: Added.
(UdOpcodeTables):
(UdOpcodeTables.sizeOfTable):
(UdOpcodeTables.nameOfTable):
(UdOpcodeTables.updateTable):
(UdOpcodeTables.Insn):
(UdOpcodeTables.Insn.__init__):
(UdOpcodeTables.Insn.__init__.opcode):
(UdOpcodeTables.parse):
(UdOpcodeTables.addInsnDef):
(UdOpcodeTables.print_table):
(UdOpcodeTables.print_tree):
* disassembler/udis86/ud_optable.py: Added.
(UdOptableXmlParser):
(UdOptableXmlParser.parseDef):
(UdOptableXmlParser.parse):
(printFn):
(parse):
(main):
* disassembler/udis86/udis86.c: Added.
(ud_init):
(ud_disassemble):
(ud_set_mode):
(ud_set_vendor):
(ud_set_pc):
(ud):
(ud_insn_asm):
(ud_insn_off):
(ud_insn_hex):
(ud_insn_ptr):
(ud_insn_len):
* disassembler/udis86/udis86.h: Added.
* disassembler/udis86/udis86_decode.c: Added.
(eff_adr_mode):
(ud_lookup_mnemonic):
(decode_prefixes):
(modrm):
(resolve_operand_size):
(resolve_mnemonic):
(decode_a):
(decode_gpr):
(resolve_gpr64):
(resolve_gpr32):
(resolve_reg):
(decode_imm):
(decode_modrm_reg):
(decode_modrm_rm):
(decode_o):
(decode_operand):
(decode_operands):
(clear_insn):
(resolve_mode):
(gen_hex):
(decode_insn):
(decode_3dnow):
(decode_ssepfx):
(decode_ext):
(decode_opcode):
(ud_decode):
* disassembler/udis86/udis86_decode.h: Added.
(ud_itab_entry_operand):
(ud_itab_entry):
(ud_lookup_table_list_entry):
(sse_pfx_idx):
(mode_idx):
(modrm_mod_idx):
(vendor_idx):
(is_group_ptr):
(group_idx):
* disassembler/udis86/udis86_extern.h: Added.
* disassembler/udis86/udis86_input.c: Added.
(inp_buff_hook):
(inp_file_hook):
(ud):
(ud_set_user_opaque_data):
(ud_get_user_opaque_data):
(ud_set_input_buffer):
(ud_set_input_file):
(ud_input_skip):
(ud_input_end):
(ud_inp_next):
(ud_inp_back):
(ud_inp_peek):
(ud_inp_move):
(ud_inp_uint8):
(ud_inp_uint16):
(ud_inp_uint32):
(ud_inp_uint64):
* disassembler/udis86/udis86_input.h: Added.
* disassembler/udis86/udis86_itab_holder.c: Added.
* disassembler/udis86/udis86_syn-att.c: Added.
(opr_cast):
(gen_operand):
(ud_translate_att):
* disassembler/udis86/udis86_syn-intel.c: Added.
(opr_cast):
(gen_operand):
(ud_translate_intel):
* disassembler/udis86/udis86_syn.c: Added.
* disassembler/udis86/udis86_syn.h: Added.
(mkasm):
* disassembler/udis86/udis86_types.h: Added.
(ud_operand):
(ud):
* jit/JITCode.h:
(JITCode):
(JSC::JITCode::tryToDisassemble):

Source/WebCore: 

Reviewed by Sam Weinig.
        
Just fixing EFL's build system now that JSC has a new directory.

* CMakeLists.txt:

Source/WTF: 

Reviewed by Sam Weinig.
        
Made changes to Assertions.h to make it friendly to C code again.
        
Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.

* wtf/Assertions.h:
* wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove some failing layout tests results added in
http://trac.webkit.org/changeset/119285 and
http://trac.webkit.org/changeset/119295. Most of these tests pass
without the failing results. Only one of them passes with the failing
result; compositing/layer-creation/spanOverlapsCanvas.html. I left that
failing result in place.

Rubber-stamped by Alexey Proskuryakov.

* platform/win/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
* platform/win/compositing/geometry/foreground-layer-expected.txt: Removed.
* platform/win/compositing/geometry/foreground-offset-change-expected.txt: Removed.
* platform/win/compositing/geometry/horizontal-scroll-composited-expected.txt: Removed.
* platform/win/compositing/geometry/layer-due-to-layer-children-deep-expected.txt: Removed.
* platform/win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Removed.
* platform/win/compositing/geometry/layer-due-to-layer-children-expected.txt: Removed.
* platform/win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Removed.
* platform/win/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Removed.
* platform/win/compositing/geometry/outline-change-expected.txt: Removed.
* platform/win/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/win/compositing/geometry/preserve-3d-switching-expected.txt: Removed.
* platform/win/compositing/geometry/root-layer-update-expected.txt: Removed.
* platform/win/compositing/geometry/tall-page-composited-expected.txt: Removed.
* platform/win/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt: Removed.
* platform/win/compositing/geometry/vertical-scroll-composited-expected.txt: Removed.
* platform/win/compositing/geometry/video-opacity-overlay-expected.txt: Removed.
* platform/win/compositing/iframes/become-composited-nested-iframes-expected.txt: Removed.
* platform/win/compositing/iframes/become-overlapped-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/composited-iframe-alignment-expected.txt: Removed.
* platform/win/compositing/iframes/composited-iframe-scroll-expected.txt: Removed.
* platform/win/compositing/iframes/composited-parent-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Removed.
* platform/win/compositing/iframes/connect-compositing-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/connect-compositing-iframe2-expected.txt: Removed.
* platform/win/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
* platform/win/compositing/iframes/enter-compositing-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/iframe-content-flipping-expected.txt: Removed.
* platform/win/compositing/iframes/iframe-copy-on-scroll-expected.txt: Removed.
* platform/win/compositing/iframes/iframe-in-composited-layer-expected.txt: Removed.
* platform/win/compositing/iframes/iframe-resize-expected.txt: Removed.
* platform/win/compositing/iframes/iframe-size-from-zero-expected.txt: Removed.
* platform/win/compositing/iframes/invisible-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/invisible-nested-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Removed.
* platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/win/compositing/iframes/layout-on-compositing-change-expected.txt: Removed.
* platform/win/compositing/iframes/nested-iframe-scrolling-expected.txt: Removed.
* platform/win/compositing/iframes/overlapped-iframe-expected.txt: Removed.
* platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/win/compositing/iframes/page-cache-layer-tree-expected.txt: Removed.
* platform/win/compositing/iframes/resizer-expected.txt: Removed.
* platform/win/compositing/iframes/scrolling-iframe-expected.txt: Removed.
* platform/win/compositing/images: Removed.
* platform/win/compositing/images/clip-on-directly-composited-image-expected.txt: Removed.
* platform/win/compositing/images/direct-image-background-color-expected.txt: Removed.
* platform/win/compositing/images/direct-pdf-image-expected.txt: Removed.
* platform/win/compositing/images/direct-svg-image-expected.txt: Removed.
* platform/win/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Removed.
* platform/win/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-animation-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-clipping-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
* platform/win/compositing/layer-creation/overlap-transforms-expected.txt: Removed.
* platform/win/compositing/layer-creation/rotate3d-overlap-expected.txt: Removed.
* platform/win/compositing/layer-creation/scroll-partial-update-expected.txt: Removed.
* platform/win/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
* platform/win/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
* platform/win/compositing/layer-creation/translatez-overlap-expected.txt: Removed.
* platform/win/compositing/masks: Removed.
* platform/win/compositing/masks/direct-image-mask-expected.txt: Removed.
* platform/win/compositing/masks/masked-ancestor-expected.txt: Removed.
* platform/win/compositing/masks/multiple-masks-expected.txt: Removed.
* platform/win/compositing/masks/simple-composited-mask-expected.txt: Removed.
* platform/win/compositing/overflow/ancestor-overflow-expected.txt: Removed.
* platform/win/compositing/overflow/clip-descendents-expected.txt: Removed.
* platform/win/compositing/overflow/content-gains-scrollbars-expected.txt: Removed.
* platform/win/compositing/overflow/content-loses-scrollbars-expected.txt: Removed.
* platform/win/compositing/overflow/overflow-compositing-descendant-expected.txt: Removed.
* platform/win/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/win/compositing/overflow/overflow-scrollbar-layers-expected.txt: Removed.
* platform/win/compositing/overflow/resize-painting-expected.txt: Removed.
* platform/win/compositing/rtl: Removed.
* platform/win/compositing/rtl/rtl-absolute-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-absolute-overflow-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-absolute-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-fixed-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-iframe-relative-expected.txt: Removed.
* platform/win/compositing/rtl/rtl-relative-expected.txt: Removed.
* platform/win/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Removed.
* platform/win/compositing/visibility: Removed.
* platform/win/compositing/visibility/layer-visible-content-expected.txt: Removed.
* platform/win/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, try to fix Windows build.

* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120744.
http://trac.webkit.org/changeset/120744
https://bugs.webkit.org/show_bug.cgi?id=89220

Broke build on Chromium Windows canary bots

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* platform/mock/DeviceMotionClientMock.cpp: Removed.
* platform/mock/DeviceMotionClientMock.h: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow][Editing] applying document.execCommand('bold') twice to elements having shadow insertion points causes a crash.
https://bugs.webkit.org/show_bug.cgi?id=88502

Reviewed by Ryosuke Niwa.

Source/WebCore:

When inserting or removing insertion points (<shadow> or <content>) into or from Shdaow DOM,
ElementShadow::invalidateDistribution() will be called immediately. It will remove all the renderers
of elements in the Shadow DOM. Since Node::rendererIsEditable() returns false when an renderer does not
exist, all the elements in the Shadow DOM will be considered as non-content-editable until recalculating
layout, though some of them may actually be content-editable.

Actually the current code does not recalculate layout inside editing command, so a disaster happens.
For example, performing an editing command quits before completing all the commands, because the command
thinks it is adding some elements to a non-content-editable element (but actually it's content-editable).

So we have to recalculate layout if necessary when checking an element is content-editable or not.
This can be achieved by using Node::isContentEditable() instead of Node::rendererIsEditable().

Test: editing/shadow/bold-twice-in-shadow.html

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/RemoveNodeCommand.cpp:
(WebCore::RemoveNodeCommand::doApply):

LayoutTests:

* editing/shadow/bold-twice-in-shadow-expected.txt: Added.
* editing/shadow/bold-twice-in-shadow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix scrollbar layers being misplaced with a clipped owner layer
https://bugs.webkit.org/show_bug.cgi?id=89486

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbar layers are positioned relative to their parent layer. If
that parent gets clipped, then that positioning becomes incorrect and
scrollbars get positioned relative to the clipped bounds instead of
the full bounds. Fix by not clipping in this case.

Test: compositing/overflow/scrollbars-with-clipped-owner.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):

LayoutTests:

* compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
* compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
* compositing/overflow/scrollbars-with-clipped-owner.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CodeBlock::needsCallReturnIndices() is no longer needed.
https://bugs.webkit.org/show_bug.cgi?id=89490

Patch by Mark Lam <mark.lam@apple.com> on 2012-06-19
Reviewed by Geoffrey Garen.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::needsCallReturnIndices): removed.
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Add LayoutTests for find in page.
https://bugs.webkit.org/show_bug.cgi?id=89453

Patch by Martin Kosiba <mkosiba@google.com> on 2012-06-19
Reviewed by Adam Barth.

* platform/chromium/editing/text-iterator/findString-restarts-at-last-position-expected.txt: Added.
* platform/chromium/editing/text-iterator/findString-restarts-at-last-position.html: Added.
* platform/chromium/editing/text-iterator/findString-start-search-after-selection-expected.txt: Added.
* platform/chromium/editing/text-iterator/findString-start-search-after-selection.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Add new type (and chromium webkit API) for metadata snapshot
https://bugs.webkit.org/show_bug.cgi?id=88678

Reviewed by Darin Fisher.

* WebKit.gyp:
* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::metadata):
* public/WebIDBKeyPath.h:
(WebIDBKeyPath):
(WebKit::WebIDBKeyPath::WebIDBKeyPath):
(WebKit::WebIDBKeyPath::~WebIDBKeyPath):
(WebKit::WebIDBKeyPath::operator=): Used by Chromium backend.
* public/WebIDBMetadata.h: Added new type.
(WebKit):
(WebIDBMetadata):
(WebKit::WebIDBMetadata::WebIDBMetadata):
(ObjectStore):
(WebKit::WebIDBMetadata::ObjectStore::ObjectStore):
(Index):
(WebKit::WebIDBMetadata::Index::Index):
* src/WebIDBKeyPath.cpp: Conform to normal WebXXX patern.
(WebKit::WebIDBKeyPath::assign):
(WebKit):
(WebKit::WebIDBKeyPath::reset):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow DOM] An upper boundary breaks if a child node of an insertion point is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89407

Reviewed by Dimitri Glazkov.

Source/WebCore:

Update an event re-targeting algorithm so that it can set event's
target correctly when a fallback element in an insertion point is
clicked. To distinguish between distributed nodes and fallback
elements in an ancestor chain of composite shadow tree, an event
dispatcher checks explicitly whether a node is actually
distributed or assigned to the given insertion point.

Test: fast/dom/shadow/shadow-dom-event-dispatching.html

* dom/EventDispatcher.cpp:
(WebCore::isAssignedTo):
(WebCore):
(WebCore::EventDispatcher::ensureEventAncestors):
* html/shadow/InsertionPoint.h:
(WebCore::InsertionPoint::contains):

LayoutTests:

* fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
* fast/dom/shadow/shadow-dom-event-dispatching.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[cairo] Fix LayoutTests/fast/canvas/patternfill-repeat.html
https://bugs.webkit.org/show_bug.cgi?id=53085

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-19
Reviewed by Martin Robinson.

Source/WebCore:

Clipping previously unlimited vertical and horizontal pattern repeats with
a clip rectangle similar to the Qt Graphics Context.

No new tests, this patch fixes
canvas/philip/tests/2d.pattern.paint.repeat* tests.

* platform/graphics/Pattern.h:
(WebCore::Pattern::getPatternSpaceTransform): Adding constant getter method to be able to map to pattern space externally, needed by PlatformContextCairo::clipForPatternFilling.
* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::prepareForFilling):
(WebCore::PlatformContextCairo::clipForPatternFilling): Clip pattern repeats if needed.
* platform/graphics/cairo/PlatformContextCairo.h:

LayoutTests:

canvas/philip/tests/2d.pattern.paint.repeat* tests now passing.

* platform/efl/Skipped:
* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Missing results aren't shown in garden-o-matic

Reviewed by Kenneth Russell.

Previously we didn't know to look for text and image results when the
bot told us that results were missing.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Create a shared object between FECustomFilter objects to store the shared resources
https://bugs.webkit.org/show_bug.cgi?id=87878

Reviewed by Dean Jackson.

An object called CustomFilterGlobalContext is created the first time a new FECustomFilter is needed in a document.
It is used to store the GraphicsContext3D needed to render the CSS Shaders. The context is shared by all the elements
in a document (no cross-domain).

More resources will be shared in following patches, including precompiled shaders and vertices/indices data.
https://bugs.webkit.org/show_bug.cgi?id=88427
https://bugs.webkit.org/show_bug.cgi?id=88429

The plan is to make CustomFilterGlobalContext and FECustomFilter (or a base class extracted out of it) usable from platform
code in the hardware accelerated compositing layer. The only dependency of the code is on the GraphicsContext3D.

No new tests. No functionality is changed yet, just added the new objects.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/CustomFilterGlobalContext.cpp: Added.
(WebCore):
(WebCore::CustomFilterGlobalContext::CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::prepareContextIfNeeded):
* platform/graphics/filters/CustomFilterGlobalContext.h: Added.
(WebCore):
(CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::context):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter): Changed to use the global context instead of the host window.
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::initializeContext):
* platform/graphics/filters/FECustomFilter.h:
(WebCore):
(FECustomFilter):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Changed to initialize the global context if needed and pass it to the FECustomFilter.
* rendering/RenderView.cpp:
(WebCore):
(WebCore::RenderView::customFilterGlobalContext):
* rendering/RenderView.h:
(WebCore):
(RenderView):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120757 268f45cc-cd09-0410-ab3c-d52691b4dbfc