New issue
Advanced search Search tips

Issue 768460 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 764958



Sign in to add a comment

2 unique origins are equal according to std::set

Project Member Reported by lukasza@chromium.org, Sep 25 2017

Issue description

Each unique origin should be isolated from all the other origins.  url::Origin tries to enforce that in its definition of the equality operator:

    bool operator==(const Origin& other) const {
      return IsSameOriginWith(other);
    }

    bool Origin::IsSameOriginWith(const Origin& other) const {
      if (unique_ || other.unique_)
        return false;
    
      return tuple_.Equals(other.tuple_) && suborigin_ == other.suborigin_;
    }

On the other hand the notion of origin uniqueness is absent from the definition of less-than operator:

    bool Origin::operator<(const Origin& other) const {
      return tuple_ < other.tuple_ ||
             (tuple_.Equals(other.tuple_) && suborigin_ < other.suborigin_);
    }

This means that the following test will fail:

      std::set<url::Origin> set;
      url::Origin unique_origin;
      url::Origin another_unique_origin;

      EXPECT_TRUE(unique_origin.unique());
      EXPECT_TRUE(another_unique_origin.unique());

      set.insert(unique_origin);

      EXPECT_FALSE(base::ContainsKey(set, another_unique_origin));  // UNEXPECTED BEHAVIOR

This makes it difficult to use std::set to track which renderer processes committed which origins (e.g. see the draft CL at https://chromium-review.googlesource.com/c/chromium/src/+/666317).
 
Let me also point out that |LocalStorageContextMojo::level_db_wrappers_| is a std::map (which like std::set depends on the < operator).  This means that all documents with a unique origin share the same local storage database on the browser side.  OTOH, when forcing a unique origin via sandbox flags, the renderer prevents access to localStorage before a request is issued to the browser process: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.
One possible solution would be to generate and embed a unique GUID somewhere in a url::Origin object that represents a unique origin.  For example - maybe for unique origins we can change the hostname to something like: this.origin.is.really.unique.because.of.the.guid.<guid>.com?
Cc: iclell...@chromium.org
Owner: dcheng@chromium.org
Status: Started (was: Untriaged)
I have a CL from several months ago which does this: https://chromium-review.googlesource.com/c/chromium/src/+/674890

I wasn't able to think of a satisfactory way to encapsulate the unique token internally, so I'll probably just use the hacky way (abusing C++ friends).
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88186bd52a96e11b28660e6f09bfd22637a4f5b9

commit 88186bd52a96e11b28660e6f09bfd22637a4f5b9
Author: Daniel Cheng <dcheng@chromium.org>
Date: Fri Oct 20 08:14:46 2017

Add a factory method to create url::Origin objects from GURL

The current constructor is very complicated and hard to add additional
logic to. It would be simpler to pull the logic out-of-line into the
factory method and simplify the constructor.

TBR=brettw@chromium.org

Bug: 768460
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: Iee93b159088c7e39c77a13347a4ab9959cca5681
Reviewed-on: https://chromium-review.googlesource.com/729539
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Mike West <mkwst@google.com>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510375}
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/browsing_data/browsing_data_local_storage_helper.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/browsing_data/cookies_tree_model.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/budget_service/budget_database_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/budget_service/budget_manager_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/budget_service/budget_manager_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/devtools/devtools_ui_bindings.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/engagement/site_engagement_helper.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/api/passwords_private/passwords_private_utils_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/bookmark_app_navigation_throttle.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/chrome_extension_web_contents_observer.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/extension_resource_request_policy_apitest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/extensions/process_manager_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/media_engagement_contents_observer.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/media_engagement_contents_observer_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/media_router_dialog_controller_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/media_sinks_observer_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/mojo/extension_media_route_provider_proxy_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/mojo/media_router_desktop_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/mojo/media_router_mojo_test.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/presentation_media_sinks_observer_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/net/chrome_extensions_network_delegate.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_gnome_x.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_kwallet_x.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_libsecret.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/password_manager/native_backend_libsecret_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/payments/payment_manifest_parser_host_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/permissions/permission_context_base_feature_policy_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/permissions/permission_request_manager.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/plugins/chrome_plugin_service_filter_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/plugins/flash_download_interception.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/plugins/flash_permission_context.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/plugins/plugin_info_message_filter_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/predictors/resource_prefetcher.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/push_messaging/push_messaging_notification_manager.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/safe_browsing/chrome_password_protection_service.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/tab_contents/navigation_metrics_recorder.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/blocked_content/tab_under_navigation_throttle.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/input_method/input_method_engine.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/login/login_handler.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/login/login_handler_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/page_info/page_info.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/passwords/manage_passwords_state_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/search_engines/search_engine_tab_helper.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/views/passwords/password_dialog_view_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/webui/media_router/media_router_ui.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/webui/media_router/query_result_manager_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/browser/ui/webui/site_settings_helper.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/common/chrome_content_client_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/renderer/chrome_content_renderer_client.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/renderer/content_settings_observer.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/chrome/test/media_router/media_router_e2e_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/autofill/content/common/autofill_types_struct_traits_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/error_page/common/localized_error.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/network_error_logging/network_error_logging_service.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/network_error_logging/network_error_logging_service_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/credential_manager_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/credential_manager_pending_request_task.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/form_fetcher_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/form_saver_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/login_database.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/login_database_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_manager_test_utils.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_manager_util_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_reuse_detector.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_store_origin_unittest.h
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_syncable_service.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/password_syncable_service_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/browser/psl_matching_helper_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/core/common/credential_manager_types_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/password_manager/sync/browser/password_sync_util.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/payments/content/manifest_verifier.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/payments/content/utility/payment_manifest_parser.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/payments/content/utility/payment_manifest_parser_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/plugins/renderer/loadable_plugin_placeholder.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/subresource_filter/content/browser/async_document_subresource_filter.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/subresource_filter/content/browser/async_document_subresource_filter_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/subresource_filter/content/renderer/subresource_filter_agent.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/subresource_filter/core/common/first_party_origin_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/url_formatter/elide_url_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/components/url_pattern_index/url_rule_test_support.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/appcache/appcache_update_url_fetcher.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/background_fetch/background_fetch_cross_origin_filter.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/background_fetch/background_fetch_cross_origin_filter_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/background_fetch/background_fetch_test_base.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/blob_storage/blob_url_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/bluetooth/bluetooth_allowed_devices_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browser_side_navigation_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browsing_data/browsing_data_filter_builder_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browsing_data/clear_site_data_throttle.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browsing_data/clear_site_data_throttle_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/browsing_data/clear_site_data_throttle_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/cache_storage/cache_storage_manager.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/child_process_security_policy_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/child_process_security_policy_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/devtools/protocol/storage_handler.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/dom_storage/dom_storage_context_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/dom_storage/dom_storage_context_wrapper.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/ancestor_throttle.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/frame_tree_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/mixed_content_navigation_throttle.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/navigator_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/render_frame_host_manager.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/render_frame_host_manager_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/frame_host/render_frame_host_manager_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/geolocation/geolocation_service_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_backing_store_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_context_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_factory_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_fake_backing_store.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_internals_ui.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/indexed_db/indexed_db_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/isolated_origin_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/loader/navigation_url_loader_network_service_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/loader/navigation_url_loader_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/loader/resource_dispatcher_host_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/loader/resource_dispatcher_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/media/media_devices_permission_checker_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/permissions/permission_service_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/audio_input_renderer_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/media_stream_manager_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/media/video_capture_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/renderer_host/web_database_host_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/security_exploit_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/foreign_fetch_request_handler.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_content_settings_proxy_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_database.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_database_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/shared_worker/shared_worker_content_settings_proxy_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/site_instance_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/site_instance_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/speech/speech_recognition_manager_impl.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/child/blink_platform_impl_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/child/loader/cors_url_loader_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/child/service_worker/service_worker_subresource_loader.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/child/service_worker/service_worker_subresource_loader_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/common/content_security_policy/csp_context_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/common/content_security_policy/csp_source_list_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/common/content_security_policy/csp_source_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/common/cross_site_document_classifier_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/common/feature_policy/feature_policy_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/network/url_loader_unittest.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content/public/test/navigation_simulator.cc
[modify] https://crrev.com/88186bd52a96e11b28660e6f09bfd22637a4f5b9/content
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5

commit e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5
Author: Daniel Cheng <dcheng@chromium.org>
Date: Fri Oct 20 22:12:05 2017

Make Origin(const GURL&) constructor private.

Converting a GURL to an Origin should be done with the Origin::Create()
factory method instead.

TBR=brettw@chromium.org

Bug: 768460
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I5ccff3e6d59766e2a83bbf269923dd385c41d3e2
Reviewed-on: https://chromium-review.googlesource.com/729284
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Mike West <mkwst@google.com>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510579}
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/android_webview/renderer/aw_render_frame_ext.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/android/preferences/website_preference_bridge.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/android/search_geolocation/search_geolocation_service.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/android/search_geolocation/search_geolocation_service_unittest.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/geolocation/geolocation_permission_context_android.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/notifications/notification_channels_provider_android.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/notifications/notification_platform_bridge_mac.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/notifications/notification_template_builder.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/ui/android/page_info/page_info_popup_android.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/ui/ash/cast_config_client_media_router.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/ui/cocoa/passwords/account_chooser_view_controller_unittest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/chrome/browser/ui/cocoa/passwords/passwords_list_view_controller_unittest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/extensions/browser/api/webcam_private/webcam_private_api_chromeos.cc
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/ios/chrome/browser/passwords/credential_manager_unittest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/ios/chrome/browser/passwords/credential_manager_util.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/ios/chrome/browser/passwords/js_credential_manager_unittest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/ios/chrome/browser/ui/settings/password_details_collection_view_controller_unittest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/ios/chrome/browser/ui/settings/passwords_settings_egtest.mm
[modify] https://crrev.com/e1f22d6dc1a522e2880d80c6abd1a55f6fe0bdd5/url/origin.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7db3540182a5914218a8b7f39c9f8f0cd94a6910

commit 7db3540182a5914218a8b7f39c9f8f0cd94a6910
Author: Daniel Cheng <dcheng@chromium.org>
Date: Fri Oct 27 07:41:37 2017

Move logic out of url::Origin constructors.

Simplifies the url::Origin constructors so the constructors themselves
don't have to do any validation.

Bug: 768460
Change-Id: I2466373eba656b60466f63e80aec9e20870f7dec
Reviewed-on: https://chromium-review.googlesource.com/741181
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512117}
[modify] https://crrev.com/7db3540182a5914218a8b7f39c9f8f0cd94a6910/url/origin.cc
[modify] https://crrev.com/7db3540182a5914218a8b7f39c9f8f0cd94a6910/url/origin.h

Comment 7 by creis@chromium.org, Nov 18 2017

Blocking: 764958
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f548335c5465ef95664480a087b45402d7c3a0e

commit 1f548335c5465ef95664480a087b45402d7c3a0e
Author: Victor Costan <pwnall@chromium.org>
Date: Tue Aug 14 17:52:41 2018

AppCache: Fix some empty URLs in unit tests.

Some AppCache unit tests incorrectly use GURL() to get an URL with a
unique origin (different from other origins in the test). The way this
works may change in the future, so tests should use real origins
instead.

This CL also cleans up some lifecycle issues in the files touched by
the change.

Bug: 768460
Change-Id: Iaff5228f599209f3803c0374abcd53720e9906a9
Reviewed-on: https://chromium-review.googlesource.com/1174103
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582969}
[modify] https://crrev.com/1f548335c5465ef95664480a087b45402d7c3a0e/content/browser/appcache/appcache_host_unittest.cc
[modify] https://crrev.com/1f548335c5465ef95664480a087b45402d7c3a0e/content/browser/appcache/appcache_storage_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/62ff0189048886ea6b593770f80b04a1c586757a

commit 62ff0189048886ea6b593770f80b04a1c586757a
Author: Daniel Cheng <dcheng@chromium.org>
Date: Sat Aug 25 07:59:33 2018

Add nonce for tracking identity of unique url::Origin objects.

The nonce allows a unique origin to be same origin with itself, as well
as copies of itself. blink::SecurityOrigin and IPC are not yet updated
to propagate the necessary information through all the layers.

Bug: 768460
Change-Id: I1bfce592f3fa576dff18eb7fe2071742e82d1768
Reviewed-on: https://chromium-review.googlesource.com/745986
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Nick Carter <nick@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586129}
[modify] https://crrev.com/62ff0189048886ea6b593770f80b04a1c586757a/url/origin.cc
[modify] https://crrev.com/62ff0189048886ea6b593770f80b04a1c586757a/url/origin.h
[modify] https://crrev.com/62ff0189048886ea6b593770f80b04a1c586757a/url/origin_unittest.cc

Sign in to add a comment