summaryrefslogtreecommitdiffstats
path: root/url
Commit message (Collapse)AuthorAgeFilesLines
* Replace usages of DEPRECATED_java_in_dir with java_filesagrieve2016-03-231-1/+1
| | | | | | | | BUG=484854 Review URL: https://codereview.chromium.org/1829823002 Cr-Commit-Position: refs/heads/master@{#382905}
* Mojo bindings: Fix typemap includes.sammc2016-03-234-50/+12
| | | | | | | | | | | | | | | | | | | | | | | Previously, a header defining a StructTraits specialization could not include its corresponding generated mojom header, due to the mojom header including the StructTraits header. This required a brittle set of forward declarations to correctly avoid this; in practice, this mostly led to StructTraits that were nominally for a particular variant, but included the generated mojom header from the default variant. This CL fixes the issue by splitting typemap headers into public_headers, which define the native type and are included by the generated mojom header, and headers which define the StructTraits specialization for the native type and are only included by the generated mojom source file, allowing the StructTraits header to include the generated mojom header. BUG=596202 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1821073002 Cr-Commit-Position: refs/heads/master@{#382893}
* Implement a new IDN display policyjshin2016-03-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new policy is language-indepedent, implemented with ICU's uspoof API and is as following: 1. Use moderately restrictive rules for script mixing [1] with additional restrictions on mixing with Latin. - Script mixing is only allowed with ASCII-Latin (instead of any Latin) + another script allowed at the moderatate restriction level 2. Only allow the recommended sets from UTS 39 [2] and inclusion sets from UAX 31 [3]. This is equivalent to [:IdentifierStatus=Allowed:] [4]. 3. Allow 5 aspirational scripts from UAX 31 [5] 4. Do not allow labels with two or more numbering systems mixed. 5. Do not allow invisible characters or a sequence of the same combining mark. 6. Turn off whole script confusable check. It'd block some common domain labels like рф (IDN ccTLD for '.ru'), 'bücher' (German) and 'färgbolaget' (Swedish). 7. Keep ON 'mixed script confusable' check. This is different/separate from 'script mixing restriction' and will catch cases like 'gօօgle' with 'օ' (U+0585; Armenian Small Letter OH) [6] that would be otherwise allowed by rules #1 ~ #5. 8. Block 4 Katakanas surrounded by non-Japanese scripts because they could be mistaken as a slash. (this has been in place for a few years and is kept.) 9. Labels with any of four deviation characters (IDNA 2003 vs IDNA 2008) encoded in punycode/ACE are always shown in Punycode. This is to make the display policy consistent with our prior decision to use UTS 46 'transitional' processing (map or drop the 4 deviation characters.). [9] 10. Character black list (Mozilla's : [8]) is trimmed down to two characters. Note that this is almost identical to Mozilla's IDN display algorithm [7] except for #7, #8, and an additional restrictions in #1. #9 is another difference because of Mozilla's use of UTS 46 'non-transitional' processing and our use of UTS 46 'transitional' processing. Most of domains filtered out in ".com" TLD is filtered due to the character set restrictiction (#2 and #3) that accounts for 94% (2,050) of IDNs filtered out (0.2% of ~ 1 million IDNs in com TLD). All the IDN TLDs are shown in Unicode. So are all the IDNs in the effective TLD list, ".рф" (~ 860k), and ".みんな" (~25k). 48 out of 200k in ".xyz" and 3 out of 25k in ".jp" are filtered and shown in punycode. P.S. This CL keeps 'languages' parameter for the public APIs. I'll follow up this CL with another to get rid of that parameter and adjust callers. P.S.2: http://dev.chromium.org/developers/design-documents/idn-in-google-chrome will be updated after this CL is landed. [1] http://www.unicode.org/reports/tr39/#Restriction_Level_Detection [2] http://www.unicode.org/reports/tr39 http://www.unicode.org/Public/security/latest/xidmodifications.txt [3] http://www.unicode.org/reports/tr31/#Table_Recommended_Scripts [4] http://goo.gl/L3WD1s [5] http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts [6] http://unicode.org/cldr/utility/confusables.jsp?a=o&r=None [7] https://wiki.mozilla.org/IDN_Display_Algorithm [8] http://kb.mozillazine.org/Network.IDN.blacklist_chars : Most of them are blocked or mapped any way by other restrictions/mechanism in place. See https://bugzilla.mozilla.org/show_bug.cgi?id=1257108 [9] This is to "fix" bug 595263 BUG=336973,595263 TEST=components_unittests --gtest_filter=*IDN*, --gtest_filter=UrlForm*, --gtest_filter=*Puny* Review URL: https://codereview.chromium.org/1258813002 Cr-Commit-Position: refs/heads/master@{#382029}
* Enable url_unittests for Androidagrieve2016-03-181-33/+30
| | | | | | | | BUG=360936 Review URL: https://codereview.chromium.org/1815603003 Cr-Commit-Position: refs/heads/master@{#382000}
* [mojo-bindings] Use Watch API instead of MessagePumpMojorockot2016-03-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This removes the C++ bindings dependency on MessagePumpMojo, consuming the new Watch API instead. For convenience a new mojo::Watcher is added to the public Mojo C++ API library, and this is used by Connector. BUG=590495 R=yzshen@chromium.org TBR=blundell@chromium.org for rename affecting components/message_port.gypi TBR=jam@chromium.org - added a missing header to new url tests Committed: https://crrev.com/d06373e7cd8b4ad725ed5c64c958f2de13585add Cr-Commit-Position: refs/heads/master@{#379402} Committed: https://crrev.com/2cdb2f677c68f06b3bc54cd40f000ab961a09bbb Cr-Commit-Position: refs/heads/master@{#379463} Review URL: https://codereview.chromium.org/1759783003 Cr-Commit-Position: refs/heads/master@{#379508}
* Revert of [mojo-bindings] Use Watch API instead of MessagePumpMojo (patchset ↵Ken Rockot2016-03-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #12 id:210001 of https://codereview.chromium.org/1759783003/ ) Reason for revert: one more time. mojo_app_tests flake Original issue's description: > [mojo-bindings] Use Watch API instead of MessagePumpMojo > > This removes the C++ bindings dependency on MessagePumpMojo, > consuming the new Watch API instead. > > For convenience a new mojo::Watcher is added to the public > Mojo C++ API library, and this is used by Connector. > > BUG=590495 > R=yzshen@chromium.org > TBR=blundell@chromium.org for rename affecting components/message_port.gypi > TBR=jam@chromium.org - added a missing header to new url tests > > Committed: https://crrev.com/d06373e7cd8b4ad725ed5c64c958f2de13585add > Cr-Commit-Position: refs/heads/master@{#379402} > > Committed: https://crrev.com/2cdb2f677c68f06b3bc54cd40f000ab961a09bbb > Cr-Commit-Position: refs/heads/master@{#379463} TBR=jam@chromium.org,yzshen@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=590495 Review URL: https://codereview.chromium.org/1772503002 . Cr-Commit-Position: refs/heads/master@{#379492}
* [mojo-bindings] Use Watch API instead of MessagePumpMojorockot2016-03-051-0/+1
| | | | | | | | | | | | | | | | | | | | This removes the C++ bindings dependency on MessagePumpMojo, consuming the new Watch API instead. For convenience a new mojo::Watcher is added to the public Mojo C++ API library, and this is used by Connector. BUG=590495 R=yzshen@chromium.org TBR=blundell@chromium.org for rename affecting components/message_port.gypi TBR=jam@chromium.org - added a missing header to new url tests Committed: https://crrev.com/d06373e7cd8b4ad725ed5c64c958f2de13585add Cr-Commit-Position: refs/heads/master@{#379402} Review URL: https://codereview.chromium.org/1759783003 Cr-Commit-Position: refs/heads/master@{#379463}
* Revert of [mojo-bindings] Use Watch API instead of MessagePumpMojo (patchset ↵rockot2016-03-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #10 id:180001 of https://codereview.chromium.org/1759783003/ ) Reason for revert: Breaks iOS GN which is apparently a tree closer despite having no CQ coverage Original issue's description: > [mojo-bindings] Use Watch API instead of MessagePumpMojo > > This removes the C++ bindings dependency on MessagePumpMojo, > consuming the new Watch API instead. > > For convenience a new mojo::Watcher is added to the public > Mojo C++ API library, and this is used by Connector. > > BUG=590495 > R=yzshen@chromium.org > TBR=blundell@chromium.org for rename affecting components/message_port.gypi > TBR=jam@chromium.org - added a missing header to new url tests > > Committed: https://crrev.com/d06373e7cd8b4ad725ed5c64c958f2de13585add > Cr-Commit-Position: refs/heads/master@{#379402} TBR=jam@chromium.org,yzshen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=590495 Review URL: https://codereview.chromium.org/1768443004 Cr-Commit-Position: refs/heads/master@{#379406}
* [mojo-bindings] Use Watch API instead of MessagePumpMojorockot2016-03-051-0/+1
| | | | | | | | | | | | | | | | | This removes the C++ bindings dependency on MessagePumpMojo, consuming the new Watch API instead. For convenience a new mojo::Watcher is added to the public Mojo C++ API library, and this is used by Connector. BUG=590495 R=yzshen@chromium.org TBR=blundell@chromium.org for rename affecting components/message_port.gypi TBR=jam@chromium.org - added a missing header to new url tests Review URL: https://codereview.chromium.org/1759783003 Cr-Commit-Position: refs/heads/master@{#379402}
* Add mojo struct traits for url::Origin so that it can be sent over mojoms.jam2016-03-048-17/+149
| | | | | | | | BUG=586194 Review URL: https://codereview.chromium.org/1760333002 Cr-Commit-Position: refs/heads/master@{#379200}
* Fix iOS GN build after r379128.jam2016-03-043-7/+26
| | | | | | | | | | | There's probably a bigger and better fix to ensure this can run on iOS, but given that we're not using mojo on iOS yet, we can punt on that. BUG=586194 NOTRY=true Review URL: https://codereview.chromium.org/1756193007 Cr-Commit-Position: refs/heads/master@{#379173}
* Add mojo struct traits for GURL so that it can be sent over mojoms.jam2016-03-0312-2/+330
| | | | | | | | | | The motivation for adding a structtraits for GURL, as opposed to using paramtraits, is that most probably we'll be passing urls to languages other than C++. BUG=586194 Review URL: https://codereview.chromium.org/1760643004 Cr-Commit-Position: refs/heads/master@{#379128}
* Move GURL ParamTraits to url/ipcmarkdittmer2016-03-038-0/+265
| | | | | | | | | | | | | | | | | As a part of the GPU refactor for Mus, we are trying to eliminate spots where content/common/gpu depends on content/. One such dependency is GURL. As per discussion here: https://codereview.chromium.org/1703163002/, the plan of record is to move GURL ParamTraits out of content/ and into url/. BUG=586368 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/45eb2e749a8b08988ab45bfd6806c004e9f511fa Cr-Commit-Position: refs/heads/master@{#378859} Review URL: https://codereview.chromium.org/1722773002 Cr-Commit-Position: refs/heads/master@{#379122}
* Revert of Mustash: Move GURL ParamTraits to url/ipc (patchset #18 id:330001 ↵dimich2016-03-029-273/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1722773002/ ) Reason for revert: Broke compile on iOS_Simulator_GN_(dbg): https://build.chromium.org/p/chromium.mac/builders/iOS_Simulator_GN_%28dbg%29/builds/1777 Original issue's description: > Move GURL ParamTraits to url/ipc > > As a part of the GPU refactor for Mus, we are trying to eliminate spots where content/common/gpu depends on > content/. One such dependency is GURL. As per discussion here: > https://codereview.chromium.org/1703163002/, the plan of record is to move > GURL ParamTraits out of content/ and into url/. > > BUG=586368 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation > > Committed: https://crrev.com/45eb2e749a8b08988ab45bfd6806c004e9f511fa > Cr-Commit-Position: refs/heads/master@{#378859} TBR=fsamuel@chromium.org,piman@chromium.org,brettw@chromium.org,tsepez@chromium.org,thakis@chromium.org,markdittmer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=586368 Review URL: https://codereview.chromium.org/1755363003 Cr-Commit-Position: refs/heads/master@{#378869}
* Move GURL ParamTraits to url/ipcmarkdittmer2016-03-029-0/+273
| | | | | | | | | | | | | | As a part of the GPU refactor for Mus, we are trying to eliminate spots where content/common/gpu depends on content/. One such dependency is GURL. As per discussion here: https://codereview.chromium.org/1703163002/, the plan of record is to move GURL ParamTraits out of content/ and into url/. BUG=586368 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1722773002 Cr-Commit-Position: refs/heads/master@{#378859}
* Android: Add support for android-app scheme in a referrer.lizeb2016-02-195-63/+145
| | | | | | | | | | | | | | Following android's documentation, native apps can set a referrer with the format android-app://com.foo.bar. This is supported by the Java side, but not the native code. TBR=alokp@chromium.org,asargent@chromium.org # Adding a parameter in chromecast/ and extensions/ TESTED=adb shell am start -n com.google.android.apps.chrome/.Main -a "android.intent.action.VIEW" -d 'http://www.whatismyreferer.com/' --eu "android.intent.extra.REFERRER" "android-app://com.foo.bar" BUG=537863 Review URL: https://codereview.chromium.org/1416863004 Cr-Commit-Position: refs/heads/master@{#376423}
* Add origins argument to registerForeignFetchScopes.mek2016-02-171-0/+3
| | | | | | | | | | | | | | | Adds the new argument, stores the list of origins for which to intercept requests, and adds origin checks to the interception code. Also updated the various unit and layout tests. This implements (parts of) the changes to the spec made in https://github.com/mkruisselbrink/ServiceWorker/commit/88bbe9324fa8ac38d8af3e347564450d598757aa BUG=540509 Review URL: https://codereview.chromium.org/1656933003 Cr-Commit-Position: refs/heads/master@{#376036}
* Add mkwst@ to url/OWNERSmkwst2016-02-161-0/+1
| | | | | | | | R=brettw@chromium.org Review URL: https://codereview.chromium.org/1699863002 Cr-Commit-Position: refs/heads/master@{#375523}
* Move gn _run target generation into test(). (RELAND)jbudorick2016-02-031-9/+0
| | | | | | | | | | | | | | This is a reland of https://codereview.chromium.org/1653003006/ Consolidating the _run targets into the test template should make them easier to maintain (and, eventually, remove). BUG=583694 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1662053002 Cr-Commit-Position: refs/heads/master@{#373385}
* Make extensions use a correct same-origin check.palmer2016-02-032-2/+7
| | | | | | | | | | GURL::GetOrigin does not do the right thing for all types of URLs. BUG=573317 Review URL: https://codereview.chromium.org/1658913002 Cr-Commit-Position: refs/heads/master@{#373381}
* Revert of Move gn _run target generation into test(). (patchset #1 id:1 of ↵dpranke2016-02-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1653003006/ ) Reason for revert: Broke angle_unittests_run, which doesn't follow the template: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/53646/steps/compile/logs/stdio Original issue's description: > Move gn _run target generation into test(). > > TBR=brettw@chromium.org > BUG= > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/6b1b03783b81ea27bb521c02aa84b74f06d6f71a > Cr-Commit-Position: refs/heads/master@{#373232} TBR=phosek@chromium.org,brettw@chromium.org,jbudorick@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1664653003 Cr-Commit-Position: refs/heads/master@{#373257}
* Move gn _run target generation into test().jbudorick2016-02-031-9/+0
| | | | | | | | | | TBR=brettw@chromium.org BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1653003006 Cr-Commit-Position: refs/heads/master@{#373232}
* allocator cleanup: remove dependencies on allocator from all targetsprimiano2016-01-282-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overview of the cleanup: ------------------------ - In the context of the discussion in https://goo.gl/K2m649 our illustrious base/ owners suggested that having base being the only target depending on allocator (and having the other targets inherit that recursively) would be a more scalable solution, as opposite to having to remember to add an exec -> allocator to each target. - This base -> allocator dep landed in crrev.com/1616793003. - After that CL, until this point, many targets got two paths that lead to allocator: 1. The indirect one via base (content_shell -> base -> allocator) which is what we want to preserve. 2. The direct one (content_shell -> allocator) which is the inconsistent one we want to drop. This CL gets rid of all the instances of 2. The nice property of this sequencing of CLs is that the effect of this large change on the final .ninja files is minimal. See details below. Effect on the produced ninja files: ----------------------------------- GYP, Linux, static build: https://paste.ee/p/RaJLj Just some small reordering of include paths. Dropping --rdynamic (as expected) in keyboard_unittests GN, Linux, static build: https://paste.ee/p/zYtrQ Various targets lose the dependency on allocator.stamp (expected, the order is enforced by depending on base which depends on allocator.stamp) GN, Android (both component and static are similar): https://paste.ee/p/Iq6DD As above. GN, Linux, component build: https://paste.ee/p/jHUmv This is the most juicy change. As expected all the ODR goes away and random targets stop re-linking tcmalloc .o files. GYP, Win, static: https://paste.ee/p/j0IjL Extremely minimal changes: All.ninja stops depending on libcmt.lib. Sounds fine as base (which depends on that) is definitely depending on libcmt. GN, Win, static: https://paste.ee/p/Q6zTo Minimal change, like Linux GN, dropping dependencies on the .stamp files. BUG=564618 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1647453002 Cr-Commit-Position: refs/heads/master@{#372167}
* Reduce string copies in GURL creationbrettw2016-01-202-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Converts GURL's constructor to take StringPieces instead of std::string to avoid extra copies when converting from constants (which is fairly common). Adds a WebStringToGURL helper function. The above change broke the ability to give a WebString to GURL's constructor because that relied on the implicit string16 conversion on WebString which will no longer match GURL. This helper function will also eliminate a string copy for almost every WebString to GURL conversion. Normally if a WebString contains a URL, it will be ASCII. The old code would convert this ASCII to a temporary base::string16 just to pass into GURL, which can take either type (and will convert to 8-bit in the end either way). This exposes the internal 8- and 16-bit buffers via new getters. This allows the underlying buffers to be passed directly to GURL in the native format without copying. An alternative to exposing these getters would be to make the conversion function a friend, or adding a GURL getter directly on WebString. But this seems like the wrong type of function to have on a string class. There are a number of other modules in Chrome that can take either 8 or 16 bit strings that may be able to re-use this for performance-critical places. The mojo implicit string conversion was similarly broken. In these cases, this patch just adds a manual get() function call to retrieve the underlying std::string rather than relying on the implicit conversion. Media doesn't depend on content (where I put the helper function) and there were only a few WebString -> GURL conversions there, so I did an explicit string16 constructor for those (matching the current implicit behavior). Review URL: https://codereview.chromium.org/1568073002 Cr-Commit-Position: refs/heads/master@{#370274}
* Fix typo and remove unnecessary comparison.mblsha2016-01-181-0/+5
| | | | | | | | | | GURL is only valid when it's non-empty. Add test for GURL.is_empty(). R=jhawkins@chromium.org,skuhne@chromium.org,abarth@chromium.org Review URL: https://codereview.chromium.org/1301453004 Cr-Commit-Position: refs/heads/master@{#370021}
* url: Get rid of UTF16Char type.tfarina2016-01-131-4/+0
| | | | | | | | | | | | | | | Now that Blink was merged into Chromium, this patch can be done without the three-patch dance for something really trivial. This patch just changes Blink code to use base::char16 type directly instead of using deprecated url type. BUG=None R=brettw@chromium.org,dglazkov@chromium.org Review URL: https://codereview.chromium.org/1381683003 Cr-Commit-Position: refs/heads/master@{#369078}
* Fix typo in documentation on url::Origin.uniqueiclelland2016-01-071-1/+1
| | | | | | | | BUG=574883 Review URL: https://codereview.chromium.org/1565913002 Cr-Commit-Position: refs/heads/master@{#368156}
* Port cronet_package GYP target to GNagrieve2016-01-051-0/+8
| | | | | | | | BUG=462737 Review URL: https://codereview.chromium.org/1553623003 Cr-Commit-Position: refs/heads/master@{#367480}
* Clean up header files.avi2015-12-261-0/+2
| | | | | | | | | | BUG=138542 TBR=ben@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1544283002 Cr-Commit-Position: refs/heads/master@{#366903}
* Switch to standard integer types in url/.avi2015-12-2117-28/+60
| | | | | | | | | BUG=138542 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/1542703002 Cr-Commit-Position: refs/heads/master@{#366454}
* new URL('') should throw TypeErrorramya.v2015-12-022-0/+6
| | | | | | | | | | | | | | | | | | | As per the spec https://url.spec.whatwg.org/#no-scheme-state If base url is null or not relative and starting character of url is not # return failure. So empty url should also throw exception in this case. Few tests related to autofill were failing after this change, because empty action url is by default resolved to base url before this patch. Made appropriate code changes as empty action url can be equal to base url only for relative base urls. BUG=463961 Review URL: https://codereview.chromium.org/1409293007 Cr-Commit-Position: refs/heads/master@{#362589}
* Use std::tie() for operator< in url/jsbell2015-11-301-7/+4
| | | | | | | | | | | | Simplify the code for operator< when comparing multiple members using a common std::tie idiom. BUG=555171 R=brettw@chromium.org Review URL: https://codereview.chromium.org/1457683008 Cr-Commit-Position: refs/heads/master@{#362262}
* Handle non-ASCII escaped characters from ICU.brettw2015-11-262-1/+40
| | | | | | | | | | | | | ICU can apparently generate non-ASCII escaped characters if name-preping generates a new escape sequence. Previously we would get confused by these and would assert. This new code marks the error and generates an escaped invalid URL. BUG=456271 NOPRESUBMIT=True (for long lines) Review URL: https://codereview.chromium.org/1471693005 Cr-Commit-Position: refs/heads/master@{#361757}
* Expose RenderFrameHost::GetLastCommittedOrigin().nick2015-11-252-3/+3
| | | | | | | | | | | | | | It is an error to call this unless the RFH is current -- similar to GetLastCommittedURL, but we actually enforce it. There are two pending CLs that will want to use this: 1413853005 and 1465533008. BUG=498580 TBR=abarth@chromium.org Review URL: https://codereview.chromium.org/1475433002 Cr-Commit-Position: refs/heads/master@{#361722}
* Run gn --format over all .gn filesagrieve2015-11-201-1/+1
| | | | | | | | | | | | | | | | The recent formatter alphebetizing change is causing a lot of noise in code reviews. Figured it'd be worth a clean-up CL. Exact command I ran: find . -name "*.gn*" -exec gn format --in-place "{}" \; TBR=ddorwin@chromium.org BUG=554928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1464873002 Cr-Commit-Position: refs/heads/master@{#360891}
* Add StringPiece getters for GURL, minor cleanup.brettw2015-09-253-63/+115
| | | | | | | | | | | | This adds *_piece() getters for each URL component which avoids intermediate string copies. Does some extra commenting and cleanup in gurl.h with new comments. The getters and test functions for each component type are now grouped. I removed references to future additions to encoding parameters which we will never do at this point. This also removes an unnecessary lower-casing step in GURL::SchemeIs since things are known lowercase, so scheme comparisons should be faster. I did a quick grep for obvious cases of some of the getters that can be replaced with the *_piece versions and updated them. In net_util there is an additional cleanup where a more complicated test could be replaced with EndsWith. Review URL: https://codereview.chromium.org/1360863003 Cr-Commit-Position: refs/heads/master@{#350733}
* Correctly handle problematic nested escapes in URL paths.pkasting2015-09-222-18/+115
| | | | | | | | | | | | | | | | Specifically, if unescaping in the input leads to the output URL containing a new escaped sequence, e.g. converting the input "%%30%30" to "%00", escape the leading '%' as "%25" to ensure the output sequence is not treated as a new valid escape sequence. This ensures that canonicalizing the same URL a second time won't make changes to it, which is important for avoiding crashes and other bugs in a variety of places in both debug and release builds. BUG=533361 TEST=Visit http://andrisatteka.blogspot.com/2015/09/a-simple-string-to-crash-google-chrome.html , hover the link there, Chrome should not crash. Review URL: https://codereview.chromium.org/1358433004 Cr-Commit-Position: refs/heads/master@{#350086}
* Use UintToString() to convert port numbers.ricea2015-09-181-1/+1
| | | | | | | | | | | No change in behaviour. BUG=505479 TEST=compile Review URL: https://codereview.chromium.org/1349293009 Cr-Commit-Position: refs/heads/master@{#349792}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | This is a redo of https://codereview.chromium.org/1245873002 c6649f2e014a24a909 with fix for Official build. Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1320793004 Cr-Commit-Position: refs/heads/master@{#347912}
* Revert of Fix sbox_validation_tests & Make isolate_driver.py include the ↵stgao2015-09-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executable itself (patchset #3 id:90001 of https://codereview.chromium.org/1245873002/ ) Reason for revert: This CL seems to break compile http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux%20x64/builds/3900/. If the revert doesn't fix it, I will re-land this CL. Original issue's description: > Fix sbox_validation_tests & Make isolate_driver.py include the executable itself > > Further reduce the boilerplate in .isolate files and is necessary to add debug > symbols, to be done in a follow up. > > Slightly accelerate ninja file parsing by blacklisting more extensions. > > sbox_validation_tests wasn't run on Windows since > https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL > uncovered this copy-paste error. > > TBR=jam@chromium.org > BUG=98637 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/c6649f2e014a24a9093140a06fcadcaf2a06513c > Cr-Commit-Position: refs/heads/master@{#347027} TBR=jam@chromium.org,maruel@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=98637 Review URL: https://codereview.chromium.org/1329783003 Cr-Commit-Position: refs/heads/master@{#347071}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-021-1/+0
| | | | | | | | | | | | | | | | | | | Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1245873002 Cr-Commit-Position: refs/heads/master@{#347027}
* Reland: Make separate net and url GN targets with and without ICUxunjieli2015-08-312-72/+73
| | | | | | | | | | | | | | | | | The net and url GYP files were modified in crrev.com/933293003 so Cronet could be built side-by-side with Chrome. However GN files are not modified. This CL keeps the GN files in sync with the GYP files. TBR=brettw@chromium.org BUG=522096 Committed: https://crrev.com/4c8c6921ca6739d16f6551635328faf164848f9d Cr-Commit-Position: refs/heads/master@{#345891} Review URL: https://codereview.chromium.org/1287893005 Cr-Commit-Position: refs/heads/master@{#346392}
* Revert of Make separate net and url GN targets with and without ICU ↵xunjieli2015-08-272-73/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #8 id:300001 of https://codereview.chromium.org/1287893005/ ) Reason for revert: This CL broke a GN check on an internal bot: https://uberchromegw.corp.google.com/i/chromium.linux/builders/Android%20GN/builds/29756 Running ['/b/build/slave/Android_GN/build/src/buildtools/linux64/gn', '--root=/b/build/slave/Android_GN/build/src', 'check', '//out/Release'] ERROR at //url/android/url_jni_registrar.cc:8:11: Include not allowed. #include "url/url_canon_icu_alternatives_android.h" ^--------------------------------------- It is not in any dependency of //url:url The include file is in the target(s): //url:url_lib_use_icu_alternatives_on_android which should somehow be reachable. Command ['/b/build/slave/Android_GN/build/src/buildtools/linux64/gn', '--root=/b/build/slave/Android_GN/build/src', 'check', '//out/Release'] returned exit code 1 Original issue's description: > Make separate net and url GN targets with and without ICU > > The net and url GYP files were modified in crrev.com/933293003 > so Cronet could be built side-by-side with Chrome. However GN > files are not modified. This CL keeps the GN files in sync > with the GYP files. > > BUG=522096 > > Committed: https://crrev.com/4c8c6921ca6739d16f6551635328faf164848f9d > Cr-Commit-Position: refs/heads/master@{#345891} TBR=mmenke@chromium.org,brettw@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=522096 Review URL: https://codereview.chromium.org/1312583006 Cr-Commit-Position: refs/heads/master@{#345906}
* Make separate net and url GN targets with and without ICUxunjieli2015-08-272-72/+73
| | | | | | | | | | | | | The net and url GYP files were modified in crrev.com/933293003 so Cronet could be built side-by-side with Chrome. However GN files are not modified. This CL keeps the GN files in sync with the GYP files. BUG=522096 Review URL: https://codereview.chromium.org/1287893005 Cr-Commit-Position: refs/heads/master@{#345891}
* clang/win: Fix component builds after https://codereview.chromium.org/1272113002Nico Weber2015-08-191-1/+1
| | | | | | | | | BUG=82385,516971 TBR=tyoshino Review URL: https://codereview.chromium.org/1287263007 . Cr-Commit-Position: refs/heads/master@{#344237}
* Allow url::SchemeHostPort to hold non-file scheme without porttyoshino2015-08-195-86/+220
| | | | | | | | | | | | | | | | | WebSockets use url::Origin to pass origin info between renderer and browser. Currently, it cannot hold an origin with non-file scheme and no port. Chrome extensions have been using such origins, so we need to keep the channel to convey origin info work for such origins. BUG=516971 R=sleevi,brettw Committed: https://crrev.com/1ac9ec7bccd1b5178b18338b10149f36292f5fb6 Cr-Commit-Position: refs/heads/master@{#343895} Review URL: https://codereview.chromium.org/1272113002 Cr-Commit-Position: refs/heads/master@{#344181}
* Remove GURL::SchemeIsSecure().lgarron2015-08-181-17/+0
| | | | | | | | BUG=362214 Review URL: https://codereview.chromium.org/1287923004 Cr-Commit-Position: refs/heads/master@{#344043}
* Revert of Allow url::SchemeHostPort to hold non-file scheme without port ↵msramek2015-08-185-220/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #16 id:320001 of https://codereview.chromium.org/1272113002/ ) Reason for revert: Broken build. http://build.chromium.org/p/chromium.mac/builders/iOS_Device_%28ninja%29/builds/17899/steps/compile/logs/stdio Original issue's description: > Allow url::SchemeHostPort to hold non-file scheme without port > > WebSockets use url::Origin to pass origin info between renderer and > browser. Currently, it cannot hold an origin with non-file scheme and > no port. Chrome extensions have been using such origins, so we need > to keep the channel to convey origin info work for such origins. > > BUG=516971 > R=sleevi,brettw > > Committed: https://crrev.com/1ac9ec7bccd1b5178b18338b10149f36292f5fb6 > Cr-Commit-Position: refs/heads/master@{#343895} TBR=rsleevi@chromium.org,mkwst@chromium.org,brettw@chromium.org,tyoshino@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=516971 Review URL: https://codereview.chromium.org/1301563003 Cr-Commit-Position: refs/heads/master@{#343898}
* Allow url::SchemeHostPort to hold non-file scheme without porttyoshino2015-08-185-86/+220
| | | | | | | | | | | | | | WebSockets use url::Origin to pass origin info between renderer and browser. Currently, it cannot hold an origin with non-file scheme and no port. Chrome extensions have been using such origins, so we need to keep the channel to convey origin info work for such origins. BUG=516971 R=sleevi,brettw Review URL: https://codereview.chromium.org/1272113002 Cr-Commit-Position: refs/heads/master@{#343895}
* Proof-read comments in src/url/.qyearsley2015-08-1425-145/+148
| | | | | | Review URL: https://codereview.chromium.org/1270443006 Cr-Commit-Position: refs/heads/master@{#343473}