{"action":"created","comment":{"url":"https://api.github.com/repos/flutter/engine/pulls/comments/201157806","pull_request_review_id":135605356,"id":201157806,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTE1NzgwNg==","diff_hunk":"@@ -942,6 +942,88 @@ enum PaintingStyle {\n   stroke,\n }\n \n+\n+/// Different ways to clip a widget's content.\n+enum Clip {\n+  /// No clip at all.\n+  ///\n+  /// This is the default option for most widgets: if the content does not\n+  /// overflow the widget boundary, don't pay any performance cost for clipping.\n+  ///\n+  /// If the content does overflow, please explicitly specify the following\n+  /// [Clip] options:\n+  ///  * [hardEdge], which is the fastest clipping, but with lower fidelity.\n+  ///  * [antiAlias], which is a little slower than [hardEdge], but with smoothed edges.\n+  ///  * [antiAliasWithSaveLayer], which is much slower than [antiAlias], and should\n+  ///    rarely be used.\n+  none,\n+\n+  /// Clip, but do not apply anti-aliasing.\n+  ///\n+  /// This mode enables clipping, but curves and non-axis-aligned straight lines will be\n+  /// jagged as no effort is made to anti-alias.\n+  ///\n+  /// Faster than other clipping modes, but slower than [none].\n+  ///\n+  /// This is a reasonable choice when clipping is needed, if the container is an axis-\n+  /// aligned rectangle or an axis-aligned rounded rectangle with very small corner radii.\n+  ///\n+  /// See also:\n+  ///\n+  ///  * [antiAlias], which is more reasonable when clipping is needed and the shape is not\n+  ///    an axis-aligned rectangle.\n+  hardEdge,\n+\n+  /// Clip with anti-aliasing.\n+  ///\n+  /// This mode has anti-aliased clipping edges to achieve a smoother look.\n+  ///\n+  /// It' s much faster than [antiAliasWithSaveLayer], but slower than [hardEdge].\n+  ///\n+  /// This will be the common case when dealing with circles and arcs.\n+  ///\n+  /// Different from [hardEdge] and [antiAliasWithSaveLayer], this clipping may have\n+  /// bleeding edge artifacts.\n+  /// (See https://fiddle.skia.org/c/21cb4c2b2515996b537f36e7819288ae for an example.)\n+  ///\n+  /// See also:\n+  ///\n+  ///  * [hardEdge], which is a little faster, but with lower fidelity.\n+  ///  * [antiAliasWithSaveLayer], which is much slower, but can avoid the\n+  ///    bleeding edges if there's no other way.\n+  ///  * [Paint.isAntiAlias], which is the anti-aliasing switch for general draw operations.\n+  antiAlias,\n+\n+  /// Clip with anti-aliasing and saveLayer immediately following the clip.\n+  ///\n+  /// This mode not only clips with anti-aliasing, but also allocates an offscreen\n+  /// buffer. All subsequent paints are carried out on that buffer before finally\n+  /// being clipped and composited back.\n+  ///\n+  /// This is very slow. It has no bleeding edge artifacts (that [antiAlias] has)\n+  /// but it changes the semantics as an offscreen buffer is now introduced.\n+  /// (See https://github.com/flutter/flutter/issues/18057#issuecomment-394197336\n+  /// for a difference between paint without saveLayer and paint with saveLayer.)\n+  ///\n+  /// This will be only rarely needed. One case where you might need this is if\n+  /// you have an image overlaid on a very different background color. In these\n+  /// cases, consider whether you can avoid overlaying multiple colors in one\n+  /// spot (e.g. by having the background color only present where the image is\n+  /// absent). If you can, [antiAlias] would be fine and much faster.\n+  ///\n+  /// See also:\n+  ///\n+  ///  * [antiAlias], which is much faster, and has similar clipping results.\n+  antiAliasWithSaveLayer,\n+}\n+\n+/// The global default value of whether and how to clip a widget.\n+///\n+// TODO(liyuqian): Set it to Clip.none. (https://github.com/flutter/flutter/issues/18057)\n+// We currently have Clip.antiAlias to preserve our old behaviors.\n+@deprecated // we'll eventually remove this and just use Clip.none.\n+const Clip defaultClipBehavior = Clip.none;","path":"lib/ui/painting.dart","position":84,"original_position":84,"commit_id":"decb2d3f6879adf94fb87221245e682d20c392ce","original_commit_id":"decb2d3f6879adf94fb87221245e682d20c392ce","user":{"login":"Hixie","id":551196,"node_id":"MDQ6VXNlcjU1MTE5Ng==","avatar_url":"https://avatars2.githubusercontent.com/u/551196?v=4","gravatar_id":"","url":"https://api.github.com/users/Hixie","html_url":"https://github.com/Hixie","followers_url":"https://api.github.com/users/Hixie/followers","following_url":"https://api.github.com/users/Hixie/following{/other_user}","gists_url":"https://api.github.com/users/Hixie/gists{/gist_id}","starred_url":"https://api.github.com/users/Hixie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hixie/subscriptions","organizations_url":"https://api.github.com/users/Hixie/orgs","repos_url":"https://api.github.com/users/Hixie/repos","events_url":"https://api.github.com/users/Hixie/events{/privacy}","received_events_url":"https://api.github.com/users/Hixie/received_events","type":"User","site_admin":false},"body":"the comment doesn't match the value? i'm not sure what the purpose of this is.\r\n\r\nConsider using `@Deprecated()` so you can provide a custom message explaining what this is for.","created_at":"2018-07-09T21:47:40Z","updated_at":"2018-07-09T21:47:40Z","html_url":"https://github.com/flutter/engine/pull/5647#discussion_r201157806","pull_request_url":"https://api.github.com/repos/flutter/engine/pulls/5647","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/flutter/engine/pulls/comments/201157806"},"html":{"href":"https://github.com/flutter/engine/pull/5647#discussion_r201157806"},"pull_request":{"href":"https://api.github.com/repos/flutter/engine/pulls/5647"}}},"pull_request":{"url":"https://api.github.com/repos/flutter/engine/pulls/5647","id":198445455,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NDQ1NDU1","html_url":"https://github.com/flutter/engine/pull/5647","diff_url":"https://github.com/flutter/engine/pull/5647.diff","patch_url":"https://github.com/flutter/engine/pull/5647.patch","issue_url":"https://api.github.com/repos/flutter/engine/issues/5647","number":5647,"state":"open","locked":false,"title":"Add ClipMode to ClipPath/ClipRRect and PhysicalShape layers","user":{"login":"liyuqian","id":22987568,"node_id":"MDQ6VXNlcjIyOTg3NTY4","avatar_url":"https://avatars2.githubusercontent.com/u/22987568?v=4","gravatar_id":"","url":"https://api.github.com/users/liyuqian","html_url":"https://github.com/liyuqian","followers_url":"https://api.github.com/users/liyuqian/followers","following_url":"https://api.github.com/users/liyuqian/following{/other_user}","gists_url":"https://api.github.com/users/liyuqian/gists{/gist_id}","starred_url":"https://api.github.com/users/liyuqian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liyuqian/subscriptions","organizations_url":"https://api.github.com/users/liyuqian/orgs","repos_url":"https://api.github.com/users/liyuqian/repos","events_url":"https://api.github.com/users/liyuqian/events{/privacy}","received_events_url":"https://api.github.com/users/liyuqian/received_events","type":"User","site_admin":false},"body":"For flutter/flutter#18057","created_at":"2018-06-29T23:32:37Z","updated_at":"2018-07-09T21:47:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e1e48e2c06e97e6d5ecaacb3925ac43490b1d5d7","assignee":null,"assignees":[],"requested_reviewers":[{"login":"chinmaygarde","id":44085,"node_id":"MDQ6VXNlcjQ0MDg1","avatar_url":"https://avatars1.githubusercontent.com/u/44085?v=4","gravatar_id":"","url":"https://api.github.com/users/chinmaygarde","html_url":"https://github.com/chinmaygarde","followers_url":"https://api.github.com/users/chinmaygarde/followers","following_url":"https://api.github.com/users/chinmaygarde/following{/other_user}","gists_url":"https://api.github.com/users/chinmaygarde/gists{/gist_id}","starred_url":"https://api.github.com/users/chinmaygarde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chinmaygarde/subscriptions","organizations_url":"https://api.github.com/users/chinmaygarde/orgs","repos_url":"https://api.github.com/users/chinmaygarde/repos","events_url":"https://api.github.com/users/chinmaygarde/events{/privacy}","received_events_url":"https://api.github.com/users/chinmaygarde/received_events","type":"User","site_admin":false},{"login":"cbracken","id":351029,"node_id":"MDQ6VXNlcjM1MTAyOQ==","avatar_url":"https://avatars3.githubusercontent.com/u/351029?v=4","gravatar_id":"","url":"https://api.github.com/users/cbracken","html_url":"https://github.com/cbracken","followers_url":"https://api.github.com/users/cbracken/followers","following_url":"https://api.github.com/users/cbracken/following{/other_user}","gists_url":"https://api.github.com/users/cbracken/gists{/gist_id}","starred_url":"https://api.github.com/users/cbracken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbracken/subscriptions","organizations_url":"https://api.github.com/users/cbracken/orgs","repos_url":"https://api.github.com/users/cbracken/repos","events_url":"https://api.github.com/users/cbracken/events{/privacy}","received_events_url":"https://api.github.com/users/cbracken/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":487933577,"node_id":"MDU6TGFiZWw0ODc5MzM1Nzc=","url":"https://api.github.com/repos/flutter/engine/labels/cla:%20yes","name":"cla: yes","color":"0e8a16","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/flutter/engine/pulls/5647/commits","review_comments_url":"https://api.github.com/repos/flutter/engine/pulls/5647/comments","review_comment_url":"https://api.github.com/repos/flutter/engine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flutter/engine/issues/5647/comments","statuses_url":"https://api.github.com/repos/flutter/engine/statuses/decb2d3f6879adf94fb87221245e682d20c392ce","head":{"label":"liyuqian:new_clip_option","ref":"new_clip_option","sha":"decb2d3f6879adf94fb87221245e682d20c392ce","user":{"login":"liyuqian","id":22987568,"node_id":"MDQ6VXNlcjIyOTg3NTY4","avatar_url":"https://avatars2.githubusercontent.com/u/22987568?v=4","gravatar_id":"","url":"https://api.github.com/users/liyuqian","html_url":"https://github.com/liyuqian","followers_url":"https://api.github.com/users/liyuqian/followers","following_url":"https://api.github.com/users/liyuqian/following{/other_user}","gists_url":"https://api.github.com/users/liyuqian/gists{/gist_id}","starred_url":"https://api.github.com/users/liyuqian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liyuqian/subscriptions","organizations_url":"https://api.github.com/users/liyuqian/orgs","repos_url":"https://api.github.com/users/liyuqian/repos","events_url":"https://api.github.com/users/liyuqian/events{/privacy}","received_events_url":"https://api.github.com/users/liyuqian/received_events","type":"User","site_admin":false},"repo":{"id":130420680,"node_id":"MDEwOlJlcG9zaXRvcnkxMzA0MjA2ODA=","name":"engine","full_name":"liyuqian/engine","owner":{"login":"liyuqian","id":22987568,"node_id":"MDQ6VXNlcjIyOTg3NTY4","avatar_url":"https://avatars2.githubusercontent.com/u/22987568?v=4","gravatar_id":"","url":"https://api.github.com/users/liyuqian","html_url":"https://github.com/liyuqian","followers_url":"https://api.github.com/users/liyuqian/followers","following_url":"https://api.github.com/users/liyuqian/following{/other_user}","gists_url":"https://api.github.com/users/liyuqian/gists{/gist_id}","starred_url":"https://api.github.com/users/liyuqian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liyuqian/subscriptions","organizations_url":"https://api.github.com/users/liyuqian/orgs","repos_url":"https://api.github.com/users/liyuqian/repos","events_url":"https://api.github.com/users/liyuqian/events{/privacy}","received_events_url":"https://api.github.com/users/liyuqian/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/liyuqian/engine","description":"The Flutter engine","fork":true,"url":"https://api.github.com/repos/liyuqian/engine","forks_url":"https://api.github.com/repos/liyuqian/engine/forks","keys_url":"https://api.github.com/repos/liyuqian/engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liyuqian/engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liyuqian/engine/teams","hooks_url":"https://api.github.com/repos/liyuqian/engine/hooks","issue_events_url":"https://api.github.com/repos/liyuqian/engine/issues/events{/number}","events_url":"https://api.github.com/repos/liyuqian/engine/events","assignees_url":"https://api.github.com/repos/liyuqian/engine/assignees{/user}","branches_url":"https://api.github.com/repos/liyuqian/engine/branches{/branch}","tags_url":"https://api.github.com/repos/liyuqian/engine/tags","blobs_url":"https://api.github.com/repos/liyuqian/engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liyuqian/engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liyuqian/engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/liyuqian/engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liyuqian/engine/statuses/{sha}","languages_url":"https://api.github.com/repos/liyuqian/engine/languages","stargazers_url":"https://api.github.com/repos/liyuqian/engine/stargazers","contributors_url":"https://api.github.com/repos/liyuqian/engine/contributors","subscribers_url":"https://api.github.com/repos/liyuqian/engine/subscribers","subscription_url":"https://api.github.com/repos/liyuqian/engine/subscription","commits_url":"https://api.github.com/repos/liyuqian/engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/liyuqian/engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/liyuqian/engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/liyuqian/engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/liyuqian/engine/contents/{+path}","compare_url":"https://api.github.com/repos/liyuqian/engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liyuqian/engine/merges","archive_url":"https://api.github.com/repos/liyuqian/engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liyuqian/engine/downloads","issues_url":"https://api.github.com/repos/liyuqian/engine/issues{/number}","pulls_url":"https://api.github.com/repos/liyuqian/engine/pulls{/number}","milestones_url":"https://api.github.com/repos/liyuqian/engine/milestones{/number}","notifications_url":"https://api.github.com/repos/liyuqian/engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liyuqian/engine/labels{/name}","releases_url":"https://api.github.com/repos/liyuqian/engine/releases{/id}","deployments_url":"https://api.github.com/repos/liyuqian/engine/deployments","created_at":"2018-04-20T22:53:38Z","updated_at":"2018-07-09T19:40:28Z","pushed_at":"2018-07-09T19:40:24Z","git_url":"git://github.com/liyuqian/engine.git","ssh_url":"git@github.com:liyuqian/engine.git","clone_url":"https://github.com/liyuqian/engine.git","svn_url":"https://github.com/liyuqian/engine","homepage":"http://flutter.io","size":124524,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"flutter:master","ref":"master","sha":"ad42324a62abcbc559ec8650fe2f0642c23ea3d0","user":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"repo":{"id":39211337,"node_id":"MDEwOlJlcG9zaXRvcnkzOTIxMTMzNw==","name":"engine","full_name":"flutter/engine","owner":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flutter/engine","description":"The Flutter engine","fork":false,"url":"https://api.github.com/repos/flutter/engine","forks_url":"https://api.github.com/repos/flutter/engine/forks","keys_url":"https://api.github.com/repos/flutter/engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flutter/engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flutter/engine/teams","hooks_url":"https://api.github.com/repos/flutter/engine/hooks","issue_events_url":"https://api.github.com/repos/flutter/engine/issues/events{/number}","events_url":"https://api.github.com/repos/flutter/engine/events","assignees_url":"https://api.github.com/repos/flutter/engine/assignees{/user}","branches_url":"https://api.github.com/repos/flutter/engine/branches{/branch}","tags_url":"https://api.github.com/repos/flutter/engine/tags","blobs_url":"https://api.github.com/repos/flutter/engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flutter/engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flutter/engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/flutter/engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flutter/engine/statuses/{sha}","languages_url":"https://api.github.com/repos/flutter/engine/languages","stargazers_url":"https://api.github.com/repos/flutter/engine/stargazers","contributors_url":"https://api.github.com/repos/flutter/engine/contributors","subscribers_url":"https://api.github.com/repos/flutter/engine/subscribers","subscription_url":"https://api.github.com/repos/flutter/engine/subscription","commits_url":"https://api.github.com/repos/flutter/engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/flutter/engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/flutter/engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/flutter/engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/flutter/engine/contents/{+path}","compare_url":"https://api.github.com/repos/flutter/engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flutter/engine/merges","archive_url":"https://api.github.com/repos/flutter/engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flutter/engine/downloads","issues_url":"https://api.github.com/repos/flutter/engine/issues{/number}","pulls_url":"https://api.github.com/repos/flutter/engine/pulls{/number}","milestones_url":"https://api.github.com/repos/flutter/engine/milestones{/number}","notifications_url":"https://api.github.com/repos/flutter/engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flutter/engine/labels{/name}","releases_url":"https://api.github.com/repos/flutter/engine/releases{/id}","deployments_url":"https://api.github.com/repos/flutter/engine/deployments","created_at":"2015-07-16T17:39:56Z","updated_at":"2018-07-09T19:52:15Z","pushed_at":"2018-07-09T21:11:14Z","git_url":"git://github.com/flutter/engine.git","ssh_url":"git@github.com:flutter/engine.git","clone_url":"https://github.com/flutter/engine.git","svn_url":"https://github.com/flutter/engine","homepage":"http://flutter.io","size":124581,"stargazers_count":1576,"watchers_count":1576,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":510,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":510,"open_issues":10,"watchers":1576,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flutter/engine/pulls/5647"},"html":{"href":"https://github.com/flutter/engine/pull/5647"},"issue":{"href":"https://api.github.com/repos/flutter/engine/issues/5647"},"comments":{"href":"https://api.github.com/repos/flutter/engine/issues/5647/comments"},"review_comments":{"href":"https://api.github.com/repos/flutter/engine/pulls/5647/comments"},"review_comment":{"href":"https://api.github.com/repos/flutter/engine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flutter/engine/pulls/5647/commits"},"statuses":{"href":"https://api.github.com/repos/flutter/engine/statuses/decb2d3f6879adf94fb87221245e682d20c392ce"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Hixie"}}