DFG::StructureCheckHoistingPhase keeps a Node& around for too long
https://bugs.webkit.org/show_bug.cgi?id=93157

Reviewed by Mark Hahnenberg.

* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove dependency on LayoutTypes.h from transformation code
https://bugs.webkit.org/show_bug.cgi?id=93037

Reviewed by Levi Weintraub.

TransformationMatrix and HitTestingTransformState includes LayoutTypes.h
which is in rendering. This is a layering violation.
Remove this dependency as it is no longer needed.

No new tests, no change in functionality.

* rendering/LayoutTypes.h:
Remove clampToLayoutUnit

* platform/FractionalLayoutUnit.h:
(WebCore::FractionalLayoutUnit::clamp):
Add FractionalLayoutUnit::clamp method that clamps a double to a FractionalLayoutUnit.
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::clampEdgeValue):
(WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad):
Use clamp/max/min from FractionalLayoutUnit instead of going through LayoutUnit abstraction.
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/HitTestingTransformState.cpp:
* rendering/HitTestingTransformState.h:
Replace use of LayoutRect with FractionalLayoutRect as LayoutRect maps to FractionalLayoutRect on all platforms.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Nothing happens when clicking on the unavailable plug-in button for a blocked plug-in
https://bugs.webkit.org/show_bug.cgi?id=93161

Reviewed by John Sullivan.

Be more robust against values being added to the RenderEmbeddedObject::PluginUnavailabilityReason
enumeration, and use a switch statement instead of blindly casting the type value to a WKPluginUnavailabilityReason.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::unavailablePluginButtonClicked):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-perf-tests should generate JSON output and results page by default
https://bugs.webkit.org/show_bug.cgi?id=93042

Reviewed by Eric Seidel.

Generate results JSON and page named PerfTestResults.json and PerfTestResults.html by default.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.perf_results_directory): Added.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner): Added _DEFAULT_JSON_FILENAME.
(PerfTestsRunner._parse_args): Added --no-results option in the case a user doens't want to generate
results JSON or results page.
(PerfTestsRunner.run):
(PerfTestsRunner._generate_and_show_results): Extracted from run. Set the default json file path using
port's perf_results_directory and call show_results_html_file at the end if the results page is generated.
(PerfTestsRunner._generate_results_dict): Renamed from _generate_output to disambiguate it from
_generate_and_show_results.
(PerfTestsRunner._generate_output_files): Takes results page's path instead of a boolean indicating
whether results page should be generated or not.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner_and_setup_results_template):
(test_run_respects_results_output): Added.
(test_run_generates_json_by_default): Added.
(test_run_generates_and_show_results_page): Added a check to ensure show_results_html_file is called.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Switch mapLocalToContainer to use a flag instead of boolean parameters
https://bugs.webkit.org/show_bug.cgi?id=92927

Reviewed by Dirk Schulze.

Changing mapLocalToContainer to use a uint flag to set the mode of operation. This removes
simplifies the contract, removes boolean arguments and paves the way for an additional mode
for sub-pixel layout support. See https://bugs.webkit.org/show_bug.cgi?id=89238 for the
sub-pixel use case. Other than the new MapLocalToContainerMode enum and MapLocalToContainerFlags
typedef, this change is purely mechanical.

No new tests as this doesn't change current behavior.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
* rendering/RenderObject.h:
(RenderObject): Adding the MapLocalToContainerMode enum and MapLocalToContainerFlags unsigned
int, and removing the old ApplyContainerFlipOrNot enum.
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer):
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):


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