Assertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) when compositing in paginated mode
https://bugs.webkit.org/show_bug.cgi?id=90919

Reviewed by Antti Koivisto.

Source/WebCore:

r121124 added a fast path for geometry mapping that goes via layers
when possible. However, this broke paginated pages, which put
the root (RenderView) layer into column mode, because it failed
to check for columns on the ancestor layer.

Rather than make a risky change to convertToLayerCoords(), add a local
function canMapViaLayer(), which is like RenderLayer::canUseConvertToLayerCoords(),
but doesn't check for compositing (compositing itself is not a reason
to avoid convertToLayerCoords). Call canMapViaLayer() with the ancestorLayer
to check whether the ancestor has columns, which fixes the bug.

Test: compositing/columns/geometry-map-paginated-assert.html

* rendering/RenderGeometryMap.cpp:
(WebCore::canMapViaLayer):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

LayoutTests:

Test with a composited element in a document which is put into paginated mode.

* compositing/columns/geometry-map-paginated-assert-expected.txt: Added.
* compositing/columns/geometry-map-paginated-assert.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Teach EWSTools how to configure SVN auth credentials
https://bugs.webkit.org/show_bug.cgi?id=91021

Reviewed by Eric Seidel.

To move the commit-queue over to Google Compute Engine, we need a way
to configure the commit-queue's credentials during the machine build
process. There doesn't seem to be a nice command line way of
configuring SVN auth credentials. I tried doing a bogus commit and
supplying the credentials that way, but that's super hacky.

The approach in this patch is to write the config file directly. The
format of these configurations files is documented in the SVN book, so
this approach doesn't see too sketchy.

* EWSTools/configure-svn-auth.sh: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r122361.
http://trac.webkit.org/changeset/122361
https://bugs.webkit.org/show_bug.cgi?id=91027

Broke Windows build and fast/forms/state-restore-broken-
state.html (Requested by rniwa on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* testing/Internals.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
On Mac, autocorrection sometimes fails to take place in Safari.
https://bugs.webkit.org/show_bug.cgi?id=89982

Reviewed by Ryosuke Niwa.

We should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should
early return in markAndReplaceFor(). Also, since we don't want autocorrection to happen when we only change selection,
not the content, so we shouldn't set TextCheckingTypeCorrection flag in markMisspellingsAndBadGrammar() as this function
is triggered only by selection change.

* editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::markMisspellingsAndBadGrammar):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The commit-queue needs some extra git config to be able to commit
https://bugs.webkit.org/show_bug.cgi?id=91025

Reviewed by Eric Seidel.

In order for the commit-queue to actually commit, it needs to know the
location of the SVN server.

* EWSTools/cold-boot.sh:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] [regression] Don't use ScrollByPrecisePixels on Chromium Mac.
https://bugs.webkit.org/show_bug.cgi?id=91020

Reviewed by Adam Barth.

A change in https://bugs.webkit.org/show_bug.cgi?id=87535 to
improve the operation of smooth scrolling incorrectly caused
Chromium Mac to use the wrong scroll granularity on
hasPreciseScrollingDeltas() == true wheelevent scrolls.
Exclude the change on the Chromium Mac platform.

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent): Adjusted #ifdef to exclude Chromium
Mac from ScrollByPrecisePixels change.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Move compositor quads to Platform/chromium/public
https://bugs.webkit.org/show_bug.cgi?id=90582

Patch by Alexandre Elias <aelias@google.com> on 2012-07-11
Reviewed by Adrienne Walker.

This moves CCSharedQuadState, CCDrawQuad, and all but two CC*DrawQuad
classes to the WebKit namespace, as a first step to pushing them
across the process boundary for the ubercompositor.

- The intent is to serialize the class hierarchy using the same
mechanism as WebInputEvent.  In order to do this, there are three
requirements: pure POD data, a method returning size, and a packing
pragma.

- Private data members are fine with this kind of serializer, and a
default constructor is not needed.  Because of that, we can maintain
the same encapsulation and convenient APIs (behind
WEBKIT_IMPLEMENTATION) as the original classes.  To ease the
transition, the original WebCore headers still exist and typedef to
the new classes.

- However, SharedQuadState will be serialized using the normal
IPC_STRUCT_TRAITS macro, so I made its members public.  A custom
serializer (on quad lists) will maintain the pointers from quads to
SharedQuadStates.

- I converted the Material casting mechanism to materialCast() methods
living in the derived classes.  That way, the WebCompositorQuad header
doesn't need to know about all its derived classes.

- Quad classes not yet transitioned can still be used in
non-ubercompositor mode.  CCRenderPassDrawQuad and CCYUVVideoDrawQuad
are currently non-POD and I left them in their original files.

This approach is the best I've found so far, since it preserves all
WebCore-facing APIs and avoids unnecessary code duplication (new quad
types or members can be added by modifying only one place).  There
also should not be an unreasonable amount of custom serializer code
required.

Source/Platform:

* Platform.gypi:
* chromium/public/WebCompositorQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h.
(WebKit):
(WebCompositorQuad):
(WebKit::WebCompositorQuad::quadRect):
(WebKit::WebCompositorQuad::quadTransform):
(WebKit::WebCompositorQuad::layerTransform):
(WebKit::WebCompositorQuad::layerRect):
(WebKit::WebCompositorQuad::scissorRect):
(WebKit::WebCompositorQuad::opacity):
(WebKit::WebCompositorQuad::needsBlending):
(WebKit::WebCompositorQuad::isLayerAxisAlignedIntRect):
(WebKit::WebCompositorQuad::quadVisibleRect):
(WebKit::WebCompositorQuad::isDebugQuad):
(WebKit::WebCompositorQuad::material):
(WebKit::WebCompositorQuad::sharedQuadState):
(WebKit::WebCompositorQuad::setSharedQuadState):
* chromium/public/WebCompositorSharedQuadState.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.h.
(WebKit):
(WebCompositorSharedQuadState):
* chromium/public/WebCompositorSolidColorQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.h.
(WebKit):
(WebCompositorSolidColorQuad):
(WebKit::WebCompositorSolidColorQuad::color):
* chromium/public/WebCompositorTextureQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
(WebKit):
(WebCompositorTextureQuad):
(WebKit::WebCompositorTextureQuad::uvRect):
(WebKit::WebCompositorTextureQuad::textureId):
(WebKit::WebCompositorTextureQuad::premultipliedAlpha):
(WebKit::WebCompositorTextureQuad::flipped):

Source/WebCore:

No new tests. (No-op refactoring.)

* WebCore.gypi:
* platform/chromium/support/WebCompositorQuad.cpp: Added.
(WebKit):
(WebKit::WebCompositorQuad::WebCompositorQuad):
(WebKit::WebCompositorQuad::opaqueRect):
(WebKit::WebCompositorQuad::setQuadVisibleRect):
(WebKit::WebCompositorQuad::size):
* platform/chromium/support/WebCompositorSharedQuadState.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp.
(WebKit):
(WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState):
(WebKit::WebCompositorSharedQuadState::create):
(WebKit::WebCompositorSharedQuadState::isLayerAxisAlignedIntRect):
* platform/chromium/support/WebCompositorSolidColorQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp.
(WebKit):
(WebKit::WebCompositorSolidColorQuad::create):
(WebKit::WebCompositorSolidColorQuad::WebCompositorSolidColorQuad):
(WebKit::WebCompositorSolidColorQuad::materialCast):
* platform/chromium/support/WebCompositorTextureQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
(WebKit):
(WebKit::WebCompositorTextureQuad::create):
(WebKit::WebCompositorTextureQuad::WebCompositorTextureQuad):
(WebKit::WebCompositorTextureQuad::setNeedsBlending):
(WebKit::WebCompositorTextureQuad::materialCast):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp:
(WebCore::CCCheckerboardDrawQuad::create):
(WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
(WebCore::CCCheckerboardDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h:
(CCCheckerboardDrawQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
(CCDebugBorderDrawQuad):
* platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed.
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
(WebCore::CCIOSurfaceDrawQuad::create):
(WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
(WebCore::CCIOSurfaceDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
(CCIOSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
(WebCore::CCRenderPassDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore):
* platform/graphics/chromium/cc/CCSharedQuadState.h:
(WebCore):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp:
(WebCore::CCStreamVideoDrawQuad::create):
(WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad):
(WebCore::CCStreamVideoDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h:
(CCStreamVideoDrawQuad):
* platform/graphics/chromium/cc/CCTextureDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):
(WebCore::CCTileDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCTileDrawQuad.h:
(CCTileDrawQuad):
* platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp:
(WebCore::CCYUVVideoDrawQuad::create):
(WebCore::CCYUVVideoDrawQuad::CCYUVVideoDrawQuad):
(WebCore::CCYUVVideoDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h:
(CCYUVVideoDrawQuad):

Source/WebKit/chromium:

* tests/CCLayerTestCommon.cpp:
(CCLayerTestCommon::verifyQuadsExactlyCoverRect):
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: clean up names in worker.py
https://bugs.webkit.org/show_bug.cgi?id=90510

Reviewed by Ojan Vafai.

This is the last patch in the series of refactoring worker.py;
all this does is change some names of methods, instance
variables, and method parameters to be clearer (it also changes
some code in manager.py and manager_worker.py to be consistent).

There are no functional changes in this patch and the existing
tests should cover everything.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.prepare_lists_and_print_output):
(Manager._run_tests.worker_factory):
(Manager._run_tests):
(Manager._show_results_html_file):
(Manager.handle_finished_test_list):
(_WorkerState.__init__):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Broker.post_message):
(_Broker._dispatch_message):
(AbstractWorker.__init__):
(AbstractWorker.run):
(AbstractWorker.yield_to_caller):
(AbstractWorker.post):
(_WorkerConnection.__init__):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestWorker.__init__):
(_TestWorker.start):
(_TestWorker.handle):
(_TestWorker.stop):
(_TestsMixin):
(_TestsMixin.test_name):
* Scripts/webkitpy/layout_tests/controllers/worker.py:
(Worker.__init__):
(Worker.__del__):
(Worker.start):
(Worker.handle):
(Worker._run_test):
(Worker.stop):
(Worker._timeout):
(Worker._kill_driver):
(Worker._run_test_with_timeout):
(Worker._clean_up_after_test):
(Worker._run_test_in_another_thread.SingleTestThread.run):
(Worker._run_test_in_this_thread):
(Worker._run_single_test):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Watchpoints and jump replacement should be decoupled
https://bugs.webkit.org/show_bug.cgi?id=91016

Reviewed by Oliver Hunt.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/AbstractMacroAssembler.h:
(JSC):
(Label):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::appendWatchpoint):
(JSC::CodeBlock::watchpoint):
(DFGData):
* bytecode/Watchpoint.cpp:
(JSC):
* bytecode/Watchpoint.h:
(JSC::Watchpoint::Watchpoint):
(Watchpoint):
(JSC::Watchpoint::fire):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
* jit/JumpReplacementWatchpoint.cpp: Added.
(JSC):
(JSC::JumpReplacementWatchpoint::correctLabels):
(JSC::JumpReplacementWatchpoint::fireInternal):
* jit/JumpReplacementWatchpoint.h: Added.
(JSC):
(JumpReplacementWatchpoint):
(JSC::JumpReplacementWatchpoint::JumpReplacementWatchpoint):
(JSC::JumpReplacementWatchpoint::setDestination):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Remove empty directories.

* http/tests/websocket/tests/resources: Removed.
* http/tests/websocket/tests/script-tests: Removed.
* http/tests/websocket/tests/workers: Removed.
* http/tests/websocket/tests/workers/resources: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitpy: lint code in webkitpy.layout_tests.models
https://bugs.webkit.org/show_bug.cgi?id=90416

Reviewed by Ojan Vafai.

Cleaning up errors reported from lint-webkitpy.

Also, suppress the warnings about wildcard imports in pylintrc;
we have nothing particularly against them.

* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfigurationConverter.combinations):
* Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:
(TestConfigurationTest.test_hash.query_unknown_key):
(TestConfigurationTest.test_eq):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(ParseError.__init__):
(TestExpectationLine.__init__):
(TestExpectationsModel.get_expectations_string):
(TestExpectationsModel):
(TestExpectationsModel.expectation_to_string):
(TestExpectationsModel.add_expectation_line):
(TestExpectationsModel._clear_expectations_for_test):
(TestExpectationsModel._remove_from_sets):
(TestExpectations.get_expectations_string):
(TestExpectations.expectation_to_string):
(TestExpectations._report_warnings):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.__init__):
(parse_exp):
(SkippedTests.check):
(TestExpectationParserTests.test_parse_empty_string):
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(FailureTimeout.__init__):
(FailureCrash.__init__):
(FailureImageHashMismatch.__init__):
(FailureReftestMismatch.__init__):
(FailureReftestMismatchDidNotOccur.__init__):
(FailureReftestNoImagesGenerated.__init__):
* Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.test_unknown_failure_type.UnknownFailure.message):
(TestFailuresTest.test_unknown_failure_type):
(TestFailuresTest):
(TestFailuresTest.test_message_is_virtual):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.loads):
(TestResult.has_failure_matching_types):
* Scripts/webkitpy/pylintrc:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Accidentally used the wrong license (3-clause instead of 2-clause) in some
files I just committed.

Rubber stamped by Oliver Hunt.

* bytecode/Watchpoint.cpp:
* bytecode/Watchpoint.h:
* jit/JumpReplacementWatchpoint.cpp:
* jit/JumpReplacementWatchpoint.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVGUseElement should not use Element::ensureShadowRoot().
https://bugs.webkit.org/show_bug.cgi?id=90938

Reviewed by Hajime Morita.

We would like to remove Element::ensureShadowRoot() because we would like to stabilize the lifecycle of Shadow DOM.
This patch rewrites SVGUseElement::create() not to use Element::ensureShadowRoot(). Since our convention to create
a shadow subtree is to create a method createShadowSubtree(), I obeyed it.

No new tests. Simple refactoring.

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create):
(WebCore::SVGUseElement::createShadowSubtree):
(WebCore):
* svg/SVGUseElement.h:
(SVGUseElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
commit-queue instances on Compute Engine are missing git-svn
https://bugs.webkit.org/show_bug.cgi?id=91034

Reviewed by Eric Seidel.

git-svn is needed to actually commit to SVN from a git working copy.

* EWSTools/cold-boot.sh:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an option to enter paginated mode in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=91035

Reviewed by Dan Bernstein.

Add an item to the Debug menu for MiniBrowser that puts
the web view into paginated mode. For now, we only
do left-to-right pagination, with a fixed column width.

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController validateMenuItem:]): Update the checked
state of the menu item.
(-[BrowserWindowController isPaginated]): Return YES if paginated.
(-[BrowserWindowController togglePaginationMode:]): Toggle in
and out of pagination mode.
* MiniBrowser/mac/MainMenu.xib: Add the debug menu item.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should have fast virtual calls
https://bugs.webkit.org/show_bug.cgi?id=90924

Source/JavaScriptCore: 

Reviewed by Gavin Barraclough.
        
Implements virtual call support in the style of the old JIT, with the
caveat that we still use the same slow path for both InternalFunction
calls and JSFunction calls. Also rationalized the way that our
CodeOrigin indices tie into exception checks (previously it was a
strange one-to-one mapping with fairly limited assertions; now it's a
one-to-many mapping for CodeOrigins to exception checks, respectively).
I also took the opportunity to clean up
CallLinkInfo::callReturnLocation, which previously was either a Call or
a NearCall. Now it's just a NearCall. As well, exceptions during slow
path call resolution are now handled by returning an exception throwing
thunk rather than returning null. And finally, I made a few things
public that were previously private-with-lots-of-friends, because I
truly despise the thought of listing each thunk generating function as
a friend of JSValue and friends.
        
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* bytecode/CallLinkInfo.h:
(CallLinkInfo):
* bytecode/CodeOrigin.h:
(JSC::CodeOrigin::CodeOrigin):
(JSC::CodeOrigin::isSet):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::AssemblyHelpers):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::CCallHelpers):
* dfg/DFGGPRInfo.h:
(GPRInfo):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::CallBeginToken::CallBeginToken):
(JSC::DFG::CallBeginToken::~CallBeginToken):
(CallBeginToken):
(JSC::DFG::CallBeginToken::set):
(JSC::DFG::CallBeginToken::registerWithExceptionCheck):
(JSC::DFG::CallBeginToken::codeOrigin):
(JSC::DFG::CallExceptionRecord::CallExceptionRecord):
(CallExceptionRecord):
(JSC::DFG::JITCompiler::currentCodeOriginIndex):
(JITCompiler):
(JSC::DFG::JITCompiler::beginCall):
(JSC::DFG::JITCompiler::notifyCall):
(JSC::DFG::JITCompiler::prepareForExceptionCheck):
(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGRepatch.cpp:
(JSC::DFG::dfgLinkFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGThunks.cpp:
(JSC::DFG::emitPointerValidation):
(DFG):
(JSC::DFG::throwExceptionFromCallSlowPathGenerator):
(JSC::DFG::slowPathFor):
(JSC::DFG::linkForThunkGenerator):
(JSC::DFG::linkCallThunkGenerator):
(JSC::DFG::linkConstructThunkGenerator):
(JSC::DFG::virtualForThunkGenerator):
(JSC::DFG::virtualCallThunkGenerator):
(JSC::DFG::virtualConstructThunkGenerator):
* dfg/DFGThunks.h:
(DFG):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
(JSC::JIT::linkFor):
* runtime/Executable.h:
(ExecutableBase):
(JSC::ExecutableBase::offsetOfJITCodeFor):
(JSC::ExecutableBase::offsetOfNumParametersFor):
* runtime/JSValue.h:
(JSValue):

LayoutTests: 

Rubber stamped by Oliver Hunt.

This changes which piece of code appears on top of the stack at the point of a stack
overflow. As far as Oliver and I can tell, it doesn't matter, so I just rebased the
test.

* fast/js/stack-trace-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
pagesPerView param is misnamed for WKPageSetPageLength()
https://bugs.webkit.org/show_bug.cgi?id=91033

Rubber-stamped by Dan Bernstein.

The name of the second parameter to WKPageSetPageLength(),
'pagesPerView', was confusing; it's a page size (normally width)
in pixels.

* UIProcess/API/C/WKPagePrivate.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: add a MessagePool abstraction that the manager will call to replace the broker
https://bugs.webkit.org/show_bug.cgi?id=90511

Reviewed by Ojan Vafai.

This change introduces the new MessagePool abstraction that will
replace the classes in manager_worker_broker. It is a minimal
interface that tries to follow the conventions in
multiprocessing.Pool and concurrency.futures ... it provides a
context manager and a run() method that sends N messages to M
workers processes (starting workers as necessary) and waits for
them all to complete, handling cleanup as necessary. The caller
is responsible for providing a handle() method to handle
messages received from the workers.

This interface basically hides all of the multiprocessing logic from
the manager class.

The initial implementation of MessagePool is a simple shim
around the existing broker classes; a subsequent change will
replace all the other classes with a much simpler
implementation.

No additional tests are provided for now; existing tests should
provide adequate coverage, and I will add new unit tests for the
MessagePool class when I replace the existing implementation.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(TestRunInterruptedException.__reduce__):
(Manager.__init__):
(Manager._run_tests):
(Manager._run_tests.instead):
(Manager.handle):
(Manager._handle_started_test):
(Manager._handle_finished_test_list):
(Manager._handle_finished_test):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(get):
(_MessagePool):
(_MessagePool.__init__):
(_MessagePool.__enter__):
(_MessagePool.__exit__):
(_MessagePool.run):
(_MessagePool.wait):
(_MessagePool.is_done):
(_MessagePool._worker_is_done):
(_MessagePool._close):
(_MessagePool.handle_done):
(_MessagePool.handle_started_test):
(_MessagePool.handle_finished_test):
(_MessagePool.handle_finished_test_list):
(_MessagePool.handle_exception):
(_MessagePool._log_messages):
(_MessagePool._handle_worker_exception):
(_WorkerState):
(_WorkerState.for):
(_WorkerState.__init__):
(_WorkerState.__repr__):
(_get_broker):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(make_broker):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r122358.
http://trac.webkit.org/changeset/122358
https://bugs.webkit.org/show_bug.cgi?id=91037

Build break on WebKit Win (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

Source/WebKit/chromium:

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragTargetDragEnter):
(WebKit):
(WebKit::WebViewImpl::dragTargetDragOver):
(WebKit::WebViewImpl::dragTargetDrop):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::doDragDrop):
(EventSender::doMouseUp):
(EventSender::doMouseMove):
(EventSender::beginDragWithFiles):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening.
Build fix for r122373.

* platform/chromium/support/WebCompositorSharedQuadState.cpp:
(WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState):

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