{"id":15821964,"url":"https://github.com/dgp1130/third-party-cookies","last_synced_at":"2026-02-12T14:01:25.010Z","repository":{"id":115117401,"uuid":"291162945","full_name":"dgp1130/third-party-cookies","owner":"dgp1130","description":"Chrome extension to test weird behavior of third-party cookies","archived":false,"fork":false,"pushed_at":"2020-08-28T23:27:41.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-13T21:39:39.298Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgp1130.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-28T23:09:38.000Z","updated_at":"2020-08-28T23:27:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"80f94f3d-d38d-41e5-9b8a-a8510d0012fe","html_url":"https://github.com/dgp1130/third-party-cookies","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dgp1130/third-party-cookies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgp1130%2Fthird-party-cookies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgp1130%2Fthird-party-cookies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgp1130%2Fthird-party-cookies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgp1130%2Fthird-party-cookies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgp1130","download_url":"https://codeload.github.com/dgp1130/third-party-cookies/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgp1130%2Fthird-party-cookies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29367814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-05T07:42:09.045Z","updated_at":"2026-02-12T14:01:24.986Z","avatar_url":"https://github.com/dgp1130.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Third-Party Cookies on DevTools\n\nThis extension is to demo a possible Chromium bug with blocking third-party\ncookies on DevTools panels.\n\n## Installation\n\nInstall the extension by downloading the source and then:\n1. Open [`chrome://extensions`](chrome://extensions).\n1. Check \"Developer Mode\" in the top-right corner.\n1. Click the new \"Load Unpacked\" button in the top-left corner.\n1. Select the directory you downloaded the source into.\n\n## Implementation\n\nThis extension creates a new panel in Chrome DevTools which sends an\nauthenticated request to a URL of your choosing. Try sending a request to any\nURL you have cookies for (such as `https://google.com/`) and then check in the\nNetwork tab to see the request and verify what cookies were sent.\n\n## Reproduction\n\nThere are two variables to tweak:\n1. Whether third-party cookies are blocked by user preference (in\n[chrome://settings/cookies](chrome://settings/cookies)).\n  * This should determine whether or not third party cookies are blocked.\n1. Whether you are loading from the DevTools panel, or from\n`chrome-extension://${extensionId}/panel.html`.\n  * This _should_ change nothing IMHO?\n\nRunning through the steps for each case yields interesting results:\n\n|                    |   DevTools Panel    | `.../panel.html`  |\n| ------------------ | ------------------- | ----------------- |\n| 3p cookies allowed |    Cookies sent     |   Cookies sent    |\n| 3p cookies blocked | **No** cookies sent | Some cookies sent |\n\nThere is basically no difference between the DevTools panel and directly using\n`chrome-extension://${extensionId}/panel.html` when third-party cookies are\nallowed. However, when third-party cookies are blocked, the DevTools panel and\n`.../panel.html` send different cookies. This may be a bug in Chrome?\n\n## contentSettings\n\nOne notable implementation different between using the Chrome DevTools panel\nand using `.../panel.html` directly is that Chrome DevTools panels load the\n`.../panel.html` page via an iframe. The top-level domain is actually\n`devtools://devtools`, which you can observe by inspecting the DevTools panel,\nopening the console, switching to the top frame, and then running:\n\n```javascript\nwindow.location.href\n// devtools://devtools/...\n```\n\nThis extension also enables the `contentSettings` API. When inspecting a page,\nyou can use `chrome.contentSettings.cookies` to inspect cookie state of various\nURLs. Most notably:\n\n```javascript\nchrome.contentSettings.cookies.get({\n  primaryUrl: 'https://*.google.com',\n  secondaryUrl: 'chrome-extension://${extensionId}',\n}, console.log);\n// Prints: `{ setting: 'allow' }` (regardless of third-party cookie setting).\n```\n\nHowever, if you try:\n\n```javascript\nchrome.contentSettings.cookies.get({\n  primaryUrl: 'https://*.google.com',\n  secondaryUrl: 'devtools://devtools',\n}, console.log);\n// Prints `{ setting: 'allow' }` when third-party cookies are enabled.\n// Prints `{ setting: 'deny' }` when third-party cookies are disabled.\n```\n\nIt seems that changing the third-party cookies setting may affect Chrome\nDevTools panels in a way that does not affect normal Chrome extension pages.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgp1130%2Fthird-party-cookies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgp1130%2Fthird-party-cookies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgp1130%2Fthird-party-cookies/lists"}