{"checked_on":"2026-10-17","timezone":"Asia/Shanghai","chromium_tag":"155.0.8059.85","evidence_scope":"分类样例采自上游 InputType 测试预期，未执行 Chromium C++ 测试；产品功能按官方帮助与源码边界解释。","version_history":{"url":"https://versionhistory.googleapis.com/v1/chrome/platforms/win/channels/stable/versions/all/releases?filter=endtime%3Dnone&order_by=version%20desc","sampled_release":{"name":"chrome/platforms/win/channels/stable/versions/155.0.8059.85/releases/1792096715","serving":{"startTime":"2026-10-15T20:38:35.578468Z"},"fraction":1,"version":"155.0.8059.85","fractionGroup":"155","pinnable":true,"rolloutData":[]}},"classification_source":"https://github.com/chromium/chromium/blob/155.0.8059.85/components/omnibox/browser/autocomplete_input_unittest.cc","samples":[{"input":"foo.com","expected_type":"URL"},{"input":"foo bar","expected_type":"QUERY"},{"input":"foo","expected_type":"UNKNOWN"},{"input":"foo/","expected_type":"URL"},{"input":"foo/bar","expected_type":"UNKNOWN"},{"input":"foo/bar/","expected_type":"URL"},{"input":"localhost","expected_type":"URL"},{"input":"localhost:8080","expected_type":"URL"},{"input":"user@foo.com","expected_type":"UNKNOWN"},{"input":"1.2","expected_type":"QUERY"},{"input":"1.2/","expected_type":"URL"},{"input":"127.0.1","expected_type":"QUERY"},{"input":"127.0.0.1","expected_type":"URL"},{"input":"[2001:dB8::1]","expected_type":"URL"},{"input":"?http://foo.com/bar","expected_type":"QUERY"}],"url_constructor_verification":{"runtime":"v26.12.0","absolute":"https://foo.com/","with_base":"https://example.org/foo.com","without_base":"TypeError"},"experimental_boundary":{"source":"https://github.com/chromium/chromium/blob/155.0.8059.85/extensions/common/api/_permission_features.json","permission":"omnibox.directInput","channel":"dev","feature_flag":"ExperimentalOmniboxLabs","default_enabled":false},"historical_context":{"chrome_first_public_beta":"2008-09-02","chrome_leaves_beta":"2008-12-11","release_sources":["https://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html","https://googleblog.blogspot.com/2008/12/google-chrome-beta.html"],"ie7_release":"2006-10-18","ie8_release":"2009-03-19","comparison_scope":"Chrome 首发宣传素材与同期 IE7 界面布局；未安装或运行历史浏览器，不将地址栏搜索的起源归于 Chrome。","screenshots":[{"local_file":"images/ie7-vista-interface.png","source":"https://download.microsoft.com/download/c/7/a/c7a22018-bb70-49d5-bd64-af3749e82281/windowsguidevista.pdf","page":6,"figure":5,"credit":"Microsoft","extraction":"直接提取 PDF 内嵌原始界面图片"},{"local_file":"images/chrome-2008-launch-overview.jpg","source":"https://blogoscoped.com/files/google-chrome-screenshot.jpg","source_page":"https://blogoscoped.com/archive/2008-09-02-n72.html","credit":"Google，Google Blogoscoped 于首发当天留存","scope":"首发宣传界面，图片未标注具体构建号"},{"local_file":"images/chrome-2008-launch-omnibox.jpg","source":"https://blogoscoped.com/files/google-chrome-screens/1.jpg","source_page":"https://blogoscoped.com/archive/2008-09-02-n72.html","credit":"Google，Google Blogoscoped 于首发当天留存","scope":"首发宣传素材中的地址栏特写"}],"pre_chrome_address_search":{"source":"https://download.microsoft.com/download/C/A/B/CAB7BC5C-D094-4B31-97A8-980961B5BD5A/IE6_en-us.pdf","page":258,"setting":"When searching from the address bar"}},"classification_visuals":[{"file":"images/input-classification-hosts.svg","title":"主机名、空格与端口怎样影响分类","cases":[{"input":"foo.com","type":"URL","highlighted_parts":[".com"],"condition":"已知后缀"},{"input":"foo bar","type":"QUERY","highlighted_parts":[" "],"condition":"主机中有空格"},{"input":"foo","type":"UNKNOWN","highlighted_parts":["foo"],"condition":"单个词"},{"input":"foo:81","type":"URL","highlighted_parts":[":81"],"condition":"合法端口"},{"input":"localhost","type":"URL","highlighted_parts":["localhost"],"condition":"特殊主机名"},{"input":"localhost:8080","type":"URL","highlighted_parts":["localhost"],"condition":"主机名已命中"}]},{"file":"images/input-classification-navigation.svg","title":"斜杠的位置和输入前缀会改变判断","cases":[{"input":"foo/","type":"URL","highlighted_parts":["/"],"condition":"末尾斜杠"},{"input":"foo/bar","type":"UNKNOWN","highlighted_parts":["/bar"],"condition":"只有路径线索"},{"input":"foo/bar/","type":"URL","highlighted_parts":["/"],"condition":"末尾斜杠"},{"input":"user@foo.com","type":"UNKNOWN","highlighted_parts":["user@"],"condition":"邮箱形式歧义"},{"input":"?http://foo.com/bar","type":"QUERY","highlighted_parts":["?"],"condition":"前导问号"}]},{"file":"images/input-classification-ip.svg","title":"数字输入还要看分段和导航线索","cases":[{"input":"1.2","type":"QUERY","highlighted_parts":["."],"condition":"更像小数"},{"input":"1.2/","type":"URL","highlighted_parts":["/"],"condition":"末尾斜杠"},{"input":"127.0.1","type":"QUERY","highlighted_parts":["127","0","1"],"condition":"三段 IPv4 形式"},{"input":"127.0.0.1","type":"URL","highlighted_parts":["127","0","0","1"],"condition":"四段 IPv4 形式"},{"input":"[2001:dB8::1]","type":"URL","highlighted_parts":["[",":","::","]"],"condition":"合法 IPv6"}]},{"file":"images/input-classification-javascript.svg","title":"javascript: 用特征标点识别代码形态","cases":[{"input":"javascript:foo","type":"UNKNOWN","highlighted_parts":["foo"],"condition":"无特征标点"},{"input":"javascript:foo;","type":"URL","highlighted_parts":[";"],"condition":"出现分号"},{"input":"javascript:foo.getter","type":"URL","highlighted_parts":["."],"condition":"出现点号"}]}],"browser_observations":[{"file":"images/omnibox-debug-github-com.png","received_on":"2026-10-18","source":"User-supplied desktop Chrome screenshot","page":"chrome://omnibox/","browser_version":null,"input":"github.com","observed_input_type":"url","observed_host":"github.com","all_providers_done":true,"connect_window_omnibox":false,"show_results_per_provider":true,"profile_context":"Existing browser profile with history and bookmarks","providers_visible":["HistoryURL","Search","Bookmark","HistoryQuick"],"match_types_visible":["url-what-you-typed","search-what-you-typed","search-suggest","bookmark-title","history-url"],"dimensions":[3840,2064],"sha256":"a9917b8d14e82278d2a66b6a9c8b43fd713f92482a1e002620e22d8a68a13589","scope":"Observed candidates in one browser profile; version was not captured and is not assumed to match the pinned Chromium source version."},{"file":"images/omnibox-dropdown-github-com.png","received_on":"2026-10-18","source":"User-supplied desktop Chrome screenshot","surface":"Browser address bar and autocomplete popup on a new tab","browser_version":null,"input":"github.com","navigation_committed":false,"profile_context":"Existing browser profile with history and bookmarks","visible_candidates":["GitHub - github.com","github.com - Google 搜索","github.com/trending (https //github.com/trending)","github.com codex","puppeteer/api.md at v10.0.0 · puppeteer/puppeteer","MrMEEE/bumblebee-Old-and-abbandoned commit","dev-itsheng/sheng-tool GitHub Actions run","dev-itsheng/sheng-tool GitHub Actions job"],"companion_debug_screenshot":"images/omnibox-debug-github-com.png","dimensions":[3840,2064],"sha256":"0c825881cc5578d25731cd453c305f625d5574bff90d491fff0decd15edaa394","scope":"Observed popup for the same input and browser profile as the debug screenshot; the images were captured separately."},{"file":"images/omnibox-debug-foo-bar.png","received_on":"2026-10-18","source":"User-supplied desktop Chrome screenshot","page":"chrome://omnibox/","browser_version":null,"input":"foo bar","observed_input_type":"query","observed_host":"foo bar","is_typed_host":false,"all_providers_done":true,"elapsed_time_ms":167,"connect_window_omnibox":false,"show_results_per_provider":true,"elide_cells":true,"profile_context":"Existing browser profile; screenshots supplied together with matching visible debug options","providers_visible":["Search"],"match_types_visible":["search-what-you-typed","search-suggest"],"dimensions":[3840,2064],"sha256":"b0e63d9f7eda684ab1b1df167e5fa9c4e1b602e2441058a40678f02962226019","scope":"One observed query; visible candidates do not establish all possible provider results or successful navigation."},{"file":"images/omnibox-debug-foo.png","received_on":"2026-10-18","source":"User-supplied desktop Chrome screenshot","page":"chrome://omnibox/","browser_version":null,"input":"foo","observed_input_type":"unknown","observed_host":"foo","is_typed_host":false,"all_providers_done":true,"elapsed_time_ms":158,"connect_window_omnibox":false,"show_results_per_provider":true,"elide_cells":true,"profile_context":"Existing browser profile; screenshots supplied together with matching visible debug options","providers_visible":["Search"],"match_types_visible":["search-what-you-typed","search-suggest","search-suggest-entity"],"dimensions":[3840,2064],"sha256":"0e138b76bcaaa6a46d97ed9f5ed464a66db5125ce00bbacac8fd2907643def52","scope":"One observed query; visible candidates do not establish all possible provider results or successful navigation.","entity_candidates_visible":["Footlocker","Foothill College"],"entity_destination_kind":"Google Search URL"},{"file":"images/omnibox-debug-foo-slash.png","received_on":"2026-10-18","source":"User-supplied desktop Chrome screenshot","page":"chrome://omnibox/","browser_version":null,"input":"foo/","observed_input_type":"url","observed_host":"foo","is_typed_host":false,"all_providers_done":true,"elapsed_time_ms":324,"connect_window_omnibox":false,"show_results_per_provider":true,"elide_cells":true,"profile_context":"Existing browser profile; screenshots supplied together with matching visible debug options","providers_visible":["HistoryURL","Search"],"match_types_visible":["url-what-you-typed","search-what-you-typed","search-suggest"],"dimensions":[3840,2064],"sha256":"844f4b4f713ac2577954c93bcf3c4e40c99be608fca1b7bbba470565899a7e89","scope":"One observed query; visible candidates do not establish all possible provider results or successful navigation.","navigation_candidate_url":"http://foo/"}],"javascript_heuristic_history":{"verified_on":"2026-10-18","original_issue_number":31661,"current_issue_number":41071946,"issue_url":"https://issues.chromium.org/issues/41071946","reported_on":"2010-01-06","original_description":"If you try to search for\n\nJavaScript: The Definitive Guide\n\nin the omnibox, we think you're trying to load a javascript: URL and don't\nperform a search.\n\nOne way to fix this is to make the javascript: scheme detection case sensitive.","screenshot":{"file":"images/chromium-issue-31661-javascript-book-title.png","source":"User-supplied screenshot of original Chromium issue report","dimensions":[1182,432],"sha256":"4e9ad1d0af88fdce88f5b36577c11df8fe50f9407c62b5dbb0b54ea80227a9d3"},"commits":[{"sha":"3de509f46d4132a11af22e8f44d44ac1954bdcc5","url":"https://github.com/chromium/chromium/commit/3de509f46d4132a11af22e8f44d44ac1954bdcc5","committed_at":"2019-03-14T19:35:48Z","message":"Allow searching for \"javascript:foo\" if foo is likely not code\n\nwhere \"likely not code\" = [^;=().]*\n\nBug: 31661\nChange-Id: Ib5286b844b7d88c43bb377eb172e9a109f3d35cd\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1513096\nReviewed-by: Kevin Bailey <krb@chromium.org>\nCommit-Queue: Travis Skare <skare@chromium.org>\nCr-Commit-Position: refs/heads/master@{#640876}","patches":[{"path":"components/omnibox/browser/autocomplete_input.cc","patch":"@@ -18,6 +18,7 @@\n #include \"net/base/registry_controlled_domains/registry_controlled_domain.h\"\n #include \"net/base/url_util.h\"\n #include \"third_party/metrics_proto/omnibox_event.pb.h\"\n+#include \"third_party/re2/src/re2/re2.h\"\n #include \"url/url_canon_ip.h\"\n #include \"url/url_util.h\"\n \n@@ -204,6 +205,12 @@ metrics::OmniboxInputType AutocompleteInput::Parse(\n     return metrics::OmniboxInputType::URL;\n   }\n \n+  // Treat javascript: scheme queries followed by things that are unlikely to\n+  // be code as QUERY, rather than script to execute (URL).\n+  if (RE2::FullMatch(base::UTF16ToUTF8(text), \"(?i)javascript:([^;=().]*)\")) {\n+    return metrics::OmniboxInputType::QUERY;\n+  }\n+\n   // If the user typed a scheme, and it's HTTP or HTTPS, we know how to parse it\n   // well enough that we can fall through to the heuristics below.  If it's\n   // something else, we can just determine our action based on what we do with"},{"path":"components/omnibox/browser/autocomplete_input_unittest.cc","patch":"@@ -109,8 +109,17 @@ TEST(AutocompleteInputTest, InputType) {\n     // { ASCIIToUTF16(\"mailto:abuse@foo.com\"), metrics::OmniboxInputType::URL },\n     {ASCIIToUTF16(\"view-source:http://www.foo.com/\"),\n      metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript\"), metrics::OmniboxInputType::UNKNOWN},\n     {ASCIIToUTF16(\"javascript:alert(\\\"Hi there\\\");\"),\n      metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript:alert%28\\\"Hi there\\\"%29;\"),\n+     metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript:foo;\"), metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript:\"), metrics::OmniboxInputType::QUERY},\n+    {ASCIIToUTF16(\"javascript:the cromulent parts\"),\n+     metrics::OmniboxInputType::QUERY},\n+    {ASCIIToUTF16(\"javascript:foo.getter\"), metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"JavaScript:Tutorials\"), metrics::OmniboxInputType::QUERY},\n #if defined(OS_WIN)\n     {ASCIIToUTF16(\"C:\\\\Program Files\"), metrics::OmniboxInputType::URL},\n     {ASCIIToUTF16(\"\\\\\\\\Server\\\\Folder\\\\File\"), metrics::OmniboxInputType::URL},"}]},{"sha":"1ff6b06da11873a7c22fb1a9bccb1bf10e24c08b","url":"https://github.com/chromium/chromium/commit/1ff6b06da11873a7c22fb1a9bccb1bf10e24c08b","committed_at":"2019-04-02T17:41:36Z","message":"Tweaks to handling of javascript: url-or-search detection.\n\nUse UKNOWN rather than QUERY, and treat double-quotes as special.\n\nBug: 31661\nChange-Id: Ice7e4daedc62a563ac8600bf7bf285ebdbdeafa4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1545256\nCommit-Queue: Travis Skare <skare@chromium.org>\nReviewed-by: Justin Donnelly <jdonnelly@chromium.org>\nCr-Commit-Position: refs/heads/master@{#646867}","patches":[{"path":"components/omnibox/browser/autocomplete_input.cc","patch":"@@ -207,8 +207,8 @@ metrics::OmniboxInputType AutocompleteInput::Parse(\n \n   // Treat javascript: scheme queries followed by things that are unlikely to\n   // be code as QUERY, rather than script to execute (URL).\n-  if (RE2::FullMatch(base::UTF16ToUTF8(text), \"(?i)javascript:([^;=().]*)\")) {\n-    return metrics::OmniboxInputType::QUERY;\n+  if (RE2::FullMatch(base::UTF16ToUTF8(text), \"(?i)javascript:([^;=().\\\"]*)\")) {\n+    return metrics::OmniboxInputType::UNKNOWN;\n   }\n \n   // If the user typed a scheme, and it's HTTP or HTTPS, we know how to parse it"},{"path":"components/omnibox/browser/autocomplete_input_unittest.cc","patch":"@@ -114,12 +114,14 @@ TEST(AutocompleteInputTest, InputType) {\n      metrics::OmniboxInputType::URL},\n     {ASCIIToUTF16(\"javascript:alert%28\\\"Hi there\\\"%29;\"),\n      metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript:foo\"), metrics::OmniboxInputType::UNKNOWN},\n     {ASCIIToUTF16(\"javascript:foo;\"), metrics::OmniboxInputType::URL},\n-    {ASCIIToUTF16(\"javascript:\"), metrics::OmniboxInputType::QUERY},\n+    {ASCIIToUTF16(\"javascript:\\\"foo\\\"\"), metrics::OmniboxInputType::URL},\n+    {ASCIIToUTF16(\"javascript:\"), metrics::OmniboxInputType::UNKNOWN},\n     {ASCIIToUTF16(\"javascript:the cromulent parts\"),\n-     metrics::OmniboxInputType::QUERY},\n+     metrics::OmniboxInputType::UNKNOWN},\n     {ASCIIToUTF16(\"javascript:foo.getter\"), metrics::OmniboxInputType::URL},\n-    {ASCIIToUTF16(\"JavaScript:Tutorials\"), metrics::OmniboxInputType::QUERY},\n+    {ASCIIToUTF16(\"JavaScript:Tutorials\"), metrics::OmniboxInputType::UNKNOWN},\n #if defined(OS_WIN)\n     {ASCIIToUTF16(\"C:\\\\Program Files\"), metrics::OmniboxInputType::URL},\n     {ASCIIToUTF16(\"\\\\\\\\Server\\\\Folder\\\\File\"), metrics::OmniboxInputType::URL},"}]}],"current_source":"https://github.com/chromium/chromium/blob/155.0.8059.85/components/omnibox/browser/autocomplete_input.cc#L306","url_scheme_standard":"https://url.spec.whatwg.org/#scheme-state","javascript_navigation_standard":"https://html.spec.whatwg.org/multipage/browsing-the-web.html#the-javascript:-url-special-case","derived_examples":[{"input":"JavaScript: The Definitive Guide","matches_unknown_predicate":true},{"input":"javascript:alert(1+1)","matches_unknown_predicate":false},{"input":"javascript:1+1","matches_unknown_predicate":true},{"input":"JavaScript: The Definitive Guide.","matches_unknown_predicate":false}],"validation_scope":"ASCII examples checked against an equivalent predicate and URL protocol parsing; JavaScript syntax contrast checked with Node vm.Script. No Chromium classifier test or browser execution was performed.","interpretation_boundary":"Original case-sensitive suggestion, the two linked 2019 patches, current behavior, and inferred tradeoffs are distinguished. Issue demonstrates misrouted search intent, not successful execution of the book title as JavaScript."}}