merged branch niklasf/html-safe-json-response (PR #4510)

Commits
-------

5c2fbfa [HttpFoundation] Make JsonResponse HTML safe.

Discussion
----------

[HttpFoundation] Make JsonResponse HTML safe.

After porting Drupal 8 to the HTTP Kernel, we noticed regressions on our JSON responses.

The original issue was http://drupal.org/node/479368. To summarize that:
- Doing the changes in this pull requests is backwarts compatible, because >>As RFC4627-2.5 clearly states that "Any character *may* be escaped", we can avoid special treatment of characters ', ", <, > and & by an HTML parser through simple substitution with a Unicode escape sequence (\uXXXX).<<
- A number of characters MUST be escaped for the JSON parser. These are: ", \, U+0000 - U+001F

Since PHP 5.3 we can simply get RFC compliant safe JSON by passing a few flags to json_encode().

Current issue: http://drupal.org/node/1619446.

---------------------------------------------------------------------------

by travisbot at 2012-06-07T14:49:12Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1558213) (merged 1200e27d into 1541fe26).

---------------------------------------------------------------------------

by sun at 2012-06-07T15:33:44Z

It would be a good idea to add an inline comment to explain what is being done; e.g.:

`// Encode <, >, ', &, and " for RFC4627-compliant JSON, which may also be embedded into HTML.`

---------------------------------------------------------------------------

by niklasf at 2012-06-07T15:41:24Z

Thanks, @sun. Pushed.

---------------------------------------------------------------------------

by travisbot at 2012-06-07T15:50:25Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1558974) (merged 5c2fbfab into 1541fe26).
merged branch alexandresalome/feat-profiler-view-all (PR #4506)

Commits
-------

4d29c75 [WebProfilerBundle] Add a button "View all" in top of the page

Discussion
----------

[WebProfilerBundle] Add a button "View all" in top of the page

This is a link in the toolbar to search for last queries. This actions is
often achieved and having a link in top of the page to reach the 10 last
queries seems useful.

View on Twitpic: http://twitpic.com/9ti0yx

---------------------------------------------------------------------------

by travisbot at 2012-06-06T20:04:49Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1550622) (merged 4d29c755 into 1541fe26).

---------------------------------------------------------------------------

by nomack84 at 2012-06-06T20:36:10Z

+1
merged branch raulfraile/patch-3 (PR #4505)

Commits
-------

26d416f Fixed typo in ConstraintValidatorFactoryInterface PHPDoc (2.0)

Discussion
----------

Fixed typo in ConstraintValidatorFactoryInterface PHPDoc: Constrain => Constraint.

Bug fix: yes
 Feature addition: no
 Backwards compatibility break: no
 Symfony2 tests pass: yes

Fixed typo in ConstraintValidatorFactoryInterface PHPDoc: Constrain => Constraint.
Fixes #4503

---------------------------------------------------------------------------

by travisbot at 2012-06-06T15:30:53Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1546330) (merged 26d416fe into 9a5e6c90).
merged branch jfsimon/issue-4495 (PR #4496)

Commits
-------

5f328de [console] Fixed docblock.
c80e156 [console] Added style stack getter in formatter.
0ae5a45 [console] Removed hardcoded empty style from styles stack.

Discussion
----------

[console] Removed hardcoded style formatter from style stack.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

This PR make it possible to replace OutputFormatter again.
Fixes issue #4495.

---------------------------------------------------------------------------

by travisbot at 2012-06-06T15:29:44Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1531654) (merged c80e156f into 1541fe26).

---------------------------------------------------------------------------

by travisbot at 2012-06-06T15:29:53Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1533586) (merged 5f328dee into 1541fe26).
merged branch beberlei/GH-4491 (PR #4493)

Commits
-------

4938080 MethodNotImplementedException -> MethodArgumentValueNotImplementedException
789fc14 Accept calling setLenient(false)

Discussion
----------

GH-4491 - Move patch from master to 2.0

A patch in PR-4469 fixed an issue with setLenient() and not having intl. This was only merged into master, although the original issue was created in the 2.0 branch. This PR cherry-picked the patches against 2.0 again.

---------------------------------------------------------------------------

by travisbot at 2012-06-06T15:29:19Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1527145) (merged 49380804 into 9a5e6c90).

---------------------------------------------------------------------------

by kbond at 2012-06-06T17:42:40Z

fixes #4491
merged branch Ph3nol/ph3-routing-component-fixes (PR #4486)

Commits
-------

a6d32de UrlMatcher class indent and doc fixes

Discussion
----------

[Routing] PHP CS and doc minor fixes

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

---------------------------------------------------------------------------

by travisbot at 2012-06-02T12:03:36Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1507232) (merged a6d32de1 into 1541fe26).
merged branch shiroyuki/master (PR #4481)

Commits
-------

06cc9ff Adjust the width of the timeline in the profiler dynamically when the (browser) window is resized.

Discussion
----------

Adjust the width of the timeline in the profiler dynamically when the (browser) window is resized.

(Rework of [PR 4476](https://github.com/symfony/symfony/pull/4476))

Instead of making the developer to resize the width of the visual presentation of the timeline in the profile manually, this change is to make the profiler adjust the width of the timeline dynamically when the (browser) window is resized.

Also, this change introduce the cleaner HTML/JavaScript code and URL as the result of:

* the removal of 'width' from the query string as the width is now controlled by JavaScript.
the removal of 'threshold' from the query string as the threshold is now passed between pages via HTML5 LocalStorage.
* Please note that at the time of submitting the pull request, GitHub didn't pick up some commits to deal with the trailing white spaces.

---------------------------------------------------------------------------

by travisbot at 2012-06-01T18:30:49Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1501464) (merged 06cc9ff3 into 1541fe26).
merged branch alexandresalome/twig-linter-context (PR #4452)

Commits
-------

df5590e [TwigBundle] Fix return code in LintComand
604a79a [TwigBundle] Fix line start in twig:lint command
91936b5 [TwigBundle] Fancy output for twig:lint

Discussion
----------

[TwigBundle] Fancy output for twig:lint

Previous PR : #3804

@marcw @fabpot Since no exception is raised, the return code is always 0. Do I add ``return rand(64, 113)`` ?

Screenshot : http://twitpic.com/9qql09

---------------------------------------------------------------------------

by travisbot at 2012-05-29T21:18:33Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1470256) (merged 91936b53 into adf07f1e).

---------------------------------------------------------------------------

by travisbot at 2012-05-29T21:21:54Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1470353) (merged 604a79ab into adf07f1e).

---------------------------------------------------------------------------

by fabpot at 2012-05-30T16:45:24Z

@alexandresalome just return 1 in case of a problem.

---------------------------------------------------------------------------

by travisbot at 2012-06-06T20:06:04Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1550631) (merged df5590ec into adf07f1e).
Reset image styling for the web-profiler toolbar

I've had issues with the toolbar where the site styling pushes
the toolbar info below the image. This is often because of global
image styling such as applying `display: block` by default.

This fixes the issue by reseting image styling to browser
defaults, which is what the toolbar expects.
merged branch rowanmanning/ticket_4516 (PR #4517)

Commits
-------

326991b Reset image styling for the web-profiler toolbar

Discussion
----------

Reset image styling for the web-profiler toolbar

This fixes the issue #4516 by resetting image styling to browser defaults, which is what the toolbar expects.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: n/a
Fixes the following tickets: #4516

---------------------------------------------------------------------------

by travisbot at 2012-06-08T11:34:36Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1565938) (merged 326991bd into f8e68e58).
[HttpFoundation] added some unit tests (refs #4510)
[Console] reduced visibility to protected
merged branch kriswallsmith/console-visibility (PR #4526)

Commits
-------

d13dce0 [Console] reduced visibility to protected

Discussion
----------

[Console] reduced visibility to protected

This is an internal method and should be cast as such.

---------------------------------------------------------------------------

by travisbot at 2012-06-08T21:27:13Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1571579) (merged d13dce06 into b84b46ba).
[BrowserKit] Updated changelog.
Updated upgrade 2.1 file.
[Routing] fix encoding of static static, so UrlGenerator produces valid URLs

also added test with many special characters
[Security] Check post_only option and request method
merged branch paul-matthews/master (PR #4042)

Commits
-------

478227d Fixed quoting issues with Yaml Inline Parser

Discussion
----------

[Yaml] fix parsing quotes problem

Added some basic checking for quotes on their own within strings. Used single quote ' followed by "," and ":" to denote the end of the current string to test.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4021
Todo: N/A

---------------------------------------------------------------------------

by fabpot at 2012-05-07T09:22:56Z

After doing the requested changes, can you squash your commits? Thanks.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T13:29:45Z

Resolved and squashed

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:30:30Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285048) (merged 5ce6d4e1 into 6c714095).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:31:06Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285057) (merged 3592fcec into e54f4e46).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:33:40Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285094) (merged e209f786 into e54f4e46).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:37:42Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285153) (merged 0967b513 into e54f4e46).

---------------------------------------------------------------------------

by fabpot at 2012-05-09T14:00:29Z

It looks like that another commit is in your PR that should not be there.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T15:52:35Z

Right-o will remove

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T15:54:15Z

resolved

---------------------------------------------------------------------------

by travisbot at 2012-05-09T15:57:15Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1286339) (merged fc276209 into e66a0bb3).

---------------------------------------------------------------------------

by fabpot at 2012-05-10T05:20:18Z

Apparently, some tests do not pass anymore after the patch. Can you have a look at them? Thanks.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T11:20:45Z

Sure - looking into it.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T17:55:53Z

I believe that's fixed.

The entire suite works locally now.

---------------------------------------------------------------------------

by travisbot at 2012-05-10T17:55:54Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1297641) (merged 884c02ed into fae4523f).

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T17:57:03Z

Unsure why travis fails.

---------------------------------------------------------------------------

by travisbot at 2012-05-10T18:00:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1297650) (merged 478227d9 into fae4523f).

---------------------------------------------------------------------------

by stof at 2012-06-09T13:24:52Z

@fabpot :+1:
[Routing] Add strict_parameters option to disable exceptions when a route generation fails due to an invalid parameter
merged branch jakzal/yamlDoubleQuotesDumperFix (PR #4320)

Commits
-------

b631073 [Yaml] Fixed double quotes escaping in Dumper.

Discussion
----------

[Yaml] Fixed double quotes escaping in Dumper

Issue #4308 is caused by Dumper::escapeWithDoubleQuotes() which uses [str_replace()](http://php.net/str_replace).

From the php docs:

> Because str_replace() replaces left to right, it might replace a previously inserted value when doing multiple replacements.

We should be very careful in deciding about the order of elements in $escapees array. I'd really appreciate if someone reviewed my fix. Tests say I didn't break anything but I'm not sure what percentage of Yaml specification is covered by tests.

Bug fix: yes
Feature addition: no
Backwards compatibility break: not that I know
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jakzal/symfony.png?branch=yamlDoubleQuotesDumperFix)](http://travis-ci.org/jakzal/symfony)
Fixes the following tickets: #4308

---------------------------------------------------------------------------

by travisbot at 2012-05-18T08:53:51Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1364279) (merged 5192722c into a04acc89).

---------------------------------------------------------------------------

by travisbot at 2012-05-18T23:19:49Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1371539) (merged ecaa1aab into fc3c609b).

---------------------------------------------------------------------------

by dinamic at 2012-05-19T07:35:21Z

Something is really wrong with this method. You can see clearly that multiple characters would fail proper escaping.

Here's an example:
```
$value = '\\\\"some value\n \"some quoted string\" and \'some single quotes one\'"';
var_dump(Escaper::escapeWithDoubleQuotes($value));
string(72) ""\\\"some value\n \\some quoted string\\ and 'some single quotes one'\"""
```

To begin with the backslash - in the initial value you have 2 (escaped ones), that after escaping should result in 4, not in 1 (escaped). I guess this behavior has to be verified with the importer, but imho it does not seem right.

Does anyone know why this escaping wasn't done using a regular expression in first place?

---------------------------------------------------------------------------

by clemens-tolboom at 2012-05-19T10:18:58Z

Searching for https://duckduckgo.com/?q=what+is+\xc2\x85 the table on http://stackoverflow.com/questions/6609895/efficiently-replace-bad-characters is interesting enough to decide we need way more documentation on this file.

\xc2\x85 seems to be triple dot (ellipses)
\xe2\x80\xa9 seems to be paragraph separator see http://drupal.org/node/914360#comment-3468550