Strip username, password and fragment only if necessary

r172433 caused 10% regression for CSSPropertyUpdateValue.html.
This CL attemps to reduce the regression by avoiding unnecessary
calls of KURL::replaceComponents(), which is a relatively time-consuming
function.

BUG=367767

Review URL: https://codereview.chromium.org/261813003

git-svn-id: svn://svn.chromium.org/blink/trunk@173259 bbb929c8-8fbe-4397-9dbb-9b2b20218538