毛细血管扩张是什么原因引起的| 领盒饭是什么意思| 脚为什么脱皮| mr是什么| 男人为什么喜欢舔女人下面| 进是什么结构| 八九不离十是什么意思| Continental什么牌子| 女人银屑病一般都长什么地方| 鸡吃什么食物| 头部容易出汗是什么原因| 化合物是什么| 白狗子是什么意思| 戴玉有什么好处| 清朝是什么时候灭亡的| 黑猫警长叫什么名字| 什么样的浪花| 潘驴邓小闲什么意思| 心率偏高是什么原因| 隽字五行属什么| 自渎什么意思| 什么血型招蚊子咬| 此刻朋友这杯酒最珍贵是什么歌| 杜甫是什么主义诗人| 什么的铅笔| 舌尖疼是什么原因| 为什么闰月| 肉桂是什么| 乳腺结节是什么病| 五花八门是什么意思| 得偿所愿什么意思| 骨密度z值是什么意思| 女人腰疼是什么原因引起的| 5月25是什么星座| 阿胶配什么吃不上火| 卵巢多囊症是什么原因造成| 乳头出血是什么原因| 越什么越什么| 特朗普是什么星座| 丘疹性荨麻疹吃什么药| 江西的简称是什么| 左手麻木什么原因| 蛐蛐吃什么| 珍珠状丘疹用什么药膏| 朱元璋长什么样| 冬瓜不能和什么一起吃| 肺结核是什么原因引起的| 衣食父母什么意思| 易孕期是什么时候| 病毒是什么生物| 铁线虫是什么| 葱郁的什么| 有口臭去医院挂什么科| 在什么之前的英文| 时柱金舆是什么意思| 诸事不宜是什么意思| 十一月六号是什么星座| 病毒的繁殖方式是什么| 肝属于五行中的什么| 盗墓笔记的结局是什么| 太子龙男装什么档次| 什么人不能喝豆浆| 子宫形态失常是什么意思| 大便弱阳性是什么意思| 心仪的人是什么意思| 经常失眠是什么原因| 大脚骨疼是什么原因| 桂圆什么时候上市| 心虚吃什么补最快| 西米是什么字| 喉咙痛咳嗽吃什么药| 衣原体检查是什么| 牙龈无缘无故出血是什么原因| 左眼皮一直跳是什么意思| 血糖低吃什么补得最快| 附身是什么意思| 脑梗是什么症状| 占卜什么意思| 针灸有什么作用| 什么叫电子版照片| 1999年出生的属什么| 正太是什么| 拉肚子吃什么药管用| 趁什么不什么| 血常规红细胞偏高是什么原因| 粉红色泡沫样痰是什么病| 尿道感染吃什么药好| 讹人是什么意思| 有什么好看的国漫| 请示是什么意思| 1月出生是什么星座| 眉目的比喻义是什么| 心机是什么意思啊| 无意识是什么意思| cpr是什么意思| 敕令是什么意思| 10月15号是什么星座的| 本科二批是什么意思| 局限性是什么意思| 什么死法不痛苦| 梦见别人生孩子预示什么| 什么动物捉害虫| 经常吃红枣有什么好处和坏处| 射精是什么| 喝啤酒吃什么菜最好| jacquemus是什么牌子| 阴道口有点痒用什么药| 中秋节的习俗是什么| 血小板低有什么症状| 骨质疏松用什么药好| 身体缺硒有什么症状| 打磨工是做什么的| 早泄什么症状| 腾云驾雾是什么生肖| 肩膀骨头疼是什么原因| 叔叔的女儿叫什么| 风湿病是什么原因造成的| 衣原体阳性是什么意思| 膀胱在什么位置图片| 英国的全称是什么| 膝盖里面痛什么原因引起的| 95年属什么生肖婚配表| 正色是什么意思| 凝血六项是检查什么的| 吃什么不便秘| 铜陵有什么好玩的地方| 希鲮鱼是什么鱼| 霜降是什么意思| 中央处理器由什么组成| 经常长溃疡是什么原因引起的| 三番四次是什么生肖| 胃胀是什么原因导致的| 长卿是什么意思| 云南白药气雾剂保险液有什么作用| 可以组什么词语| 胆固醇高是什么引起的| 次心念什么| 什么其谈| 脖子后面正中间有痣代表什么| 自己买什么药可以打胎| 什么烟最好抽| 吃什么容易长肉| 发字五行属什么| 女的什么时候退休| 感冒吃什么药| 什么心丧气| 夕阳是什么时候| 党内警告处分有什么影响| 12月18号是什么星座| 爱我永不变是什么歌| 花儿为什么这样红歌词| 命犯桃花是什么意思| 小饭桌是什么意思| 七情六欲什么意思| 嘴贫是什么意思| 1962年五行属什么| 灰色地带是什么意思| 怀孕不能吃什么水果| 为什么伴娘要未婚| 喉咙溃疡吃什么药| 天年是什么意思| 嗝气是什么原因| 一什么枝条| 吃葱有什么好处和坏处| 阳痿是什么原因造成的| 慰安妇是什么意思| 变性淀粉是什么| 为什么每天晚上睡觉都做梦| 月经量少吃什么药| 尿频是什么原因造成的| 京五行属什么| 纳帕皮是什么皮| 糖宝是什么虫| 和亲是什么意思| 食管裂孔疝是什么原因造成的| 抻是什么意思| 切屏是什么意思| 面色少华是什么意思| 腿纹不对称有什么影响| 1999年是什么生肖| 生完孩子可以吃什么水果| 晚上六点是什么时辰| 用牛奶敷脸有什么好处和坏处| 鲸属于什么类动物| 3月30日是什么星座| 男人左眼皮跳是什么预兆| 吃亚麻籽有什么好处| 吃韭菜有什么好处和坏处| 梦见孩子被蛇咬是什么意思| 白带是什么样子的| 送礼送什么好| 省长是什么级别干部| 围魏救赵是什么意思| 4月23日是什么星座| 癞蛤蟆长什么样| 接吻是什么感觉| 什么是性激素| 身陷囹圄是什么意思| 牛膝有什么功效| 什么是三重一大事项| 93年属什么的| 脲是什么意思| 2013年是什么命| 一毛不拔是什么生肖| 火龙果和什么不能一起吃| 考试前紧张吃什么药最好能缓解| 什么血型最招蚊子| 苦瓜什么人不能吃| 胳肢窝疼痛是什么原因| 探店是什么意思| 生理期腰疼是什么原因| 人中长痘是什么原因| 透明的什么| 紫色是什么颜色调出来的| 有点尿血是什么原因| 绿杨春属于什么茶| 提携是什么意思| 橙色加蓝色是什么颜色| 什么是短语| 减肥有什么方法| 不可什么什么| 坐月子可以吃什么零食| 开除党籍有什么影响| mrcp是什么检查| kr是什么货币| 酒后吐吃什么可以缓解| 与虎谋皮是什么意思| 麝香保心丸治什么病| 筷子在古代叫什么| 聤耳是什么意思| 睡觉手麻是什么原因引起的女人| 一个口一个有念什么| 懵逼是什么意思| 什么的叮咛| 脑供血不足会导致什么后果| 今年贵庚是什么意思| 为什么越吃越饿| 回民不吃什么| 35属什么| cabbeen是什么牌子| 肝血管瘤是什么原因引起的| 表面积是什么意思| 心电图逆钟向转位什么意思| 脑供血不足吃什么药效果最好| scc什么意思| 骨质增生什么意思| 动脉血是什么颜色| 越位是什么意思| 心志是什么意思| 母亲节送妈妈什么| 额头和下巴长痘痘是什么原因| 时光静好是什么意思| o型血容易得什么病| 8月3日是什么日子| chop是什么意思| 心力衰竭吃什么药最好| 气短心悸是什么意思| 脾不好吃什么药最见效| 胆汁淤积症有什么症状| 秋后问斩是什么意思| 什么叫智商| 1947年属什么生肖| 毛囊炎是什么症状图片| 第一磨牙什么时候换| 百度
tree: 75cc94997edff10014a6ff623546efddae8b59f0 [path history] [tgz]
  1. accessibility/
  2. audio/
  3. cert_verifier/
  4. content/
  5. data_decoder/
  6. device/
  7. image_annotation/
  8. media_session/
  9. metrics/
  10. network/
  11. on_device_model/
  12. passage_embeddings/
  13. preferences/
  14. proxy_resolver/
  15. proxy_resolver_win/
  16. resource_coordinator/
  17. screen_ai/
  18. service_manager/
  19. services_strings_grd/
  20. shape_detection/
  21. strings/
  22. test/
  23. tracing/
  24. video_capture/
  25. video_effects/
  26. viz/
  27. webnn/
  28. BUILD.gn
  29. COMMON_METADATA
  30. DEPS
  31. DIR_METADATA
  32. OWNERS
  33. README.md
  34. services_strings.grd
services/README.md

微店怎么分享到朋友圈 微店商品分享到朋友圈教程

Overview

百度 第一轮比赛,马龙的对手是日本选手吉村真晴。

The top-level //services directory contains the sources, public Mojo interface definitions, and public client libraries for a number of essential services, designated as Chrome Foundation Services. If you think of Chrome as a “portable OS,” Chrome Foundation Services can be thought of as the core system services of that OS.

Each subdirectory here corresponds to a service that:

  • generally focuses on a subset of functionality or features which are thematically or functionally related in a way that makes sense given the name of the service
  • could logically run in an isolated process for security or performance isolation, depending on the constraints of the host OS
Note that there are other parts of the tree which aggregate slightly-less-than-foundational service definitions, such as services specific to the Chrome browser defined in //chrome/services or reusable services for Content or its embedders, defined in //components/services. The motivations, advice, and standards discussed in this document apply to all service definitions in the Chromium tree.

One of the main motivations for expressing Chromium as a collection of services is long-term maintainability and code health. Because service API boundaries are strictly limited to Mojo interfaces, state owned and managed by each service is strongly isolated from other components in the system.

Another key motivation is general modularity and reusability: in the past there have been a number of missed opportunities for potential new features or Chromium-based products due to the browser's generally monolothic and inflexible system design. With the services providing scaffolding for system components, it becomes progressively easier to build out newer use cases with e.g. a smaller resource footprint, or a different process model, or even a more granular binary distribution.

Service Standards

As outlined above, individual services are intended for graceful reusability across a broad variety of use cases. To enable this goal, we have rigorous standards on services' structure and public API design. Before doing significant work in //services (or other places where services are defined), please internalize these standards. All Chromium developers are responsible for upholding them!

Public Service APIs

In creating and maintaining a service's public API, please respect the following principles:

  • The purpose of a service should be readily apparent.
  • The supported client use cases of the service should be easy for a new consumer to understand.
  • The service should use idioms and design patterns consistent with other services.
  • From the service‘s public API documentation and tests, it should be feasible to develop a new implementation of the service which satisfies existing clients and doesn’t require mimicking internal implementation details of the existing service.
  • Perhaps most important of all, a service's public API should be designed with multiple hypothetical clients in mind, not focused on supporting only a single narrow use known at development time. Always be thinking about the future!

If you‘re working on a new service and have concerns or doubts about API design, please post to services-dev@chromium.org and ask for help. The list is generally quite responsive, and it’s loaded with people who have done a lot of work on services.

Service API Design Tips

Using Interface Factories to Establish Context

One common pitfall when designing service APIs is to write something like:

interface GoatTeleporter {
  // Sets the client interface pipe for this teleporter. Must be called before
  // other interface methods.
  SetClient(GoatTeleporterClient client);

  TeleportGoat(string name);
};

interface GoatTeleporterClient {
  TeleporterReady();
};

The problem with this approach is that a client may easily fail to call SetClient before calling TeleportGoat. When such ordering requirements are necessary, the service can benefit clients by designing an API that is harder to fail at. For example:

interface GoatTeleporterFactory {
  GetGoatTeleporter(GoatTeleporter& request, GoatTeleporterClient client);
};

interface GoatTeleporter {
  TeleportGoat(string name);
};

Instead of exposing GoatTeleporter directly to other services, the service can expose GoatTeleporterFactory instead. Now it's impossible for a client to acquire a functioning GoatTeleporter pipe without also providing a corresponding client pipe to complement it.

Interface Naming

Just some basic tips for service and interface naming:

  • Strive to give your service's main interface a name that directly conveys the general purpose of the service (e.g., NetworkService, StorageService) rather than a meaningless codename like Cromulator.

  • Strive to avoid conceptual layering violations in naming and documentation -- e.g., avoid referencing Blink or Content concepts like “renderers” or “frame hosts”.

  • Use the names FooClient and FooObserver consistently in interfaces. If there is an expected 1:1 correspondence between a Foo and its client interface counterpart, that counterpart should most likely be called FooClient. If there is expected to be 1-to-many correspondence between a Foo and its counterpart clients, the client interface may be better named FooObserver.

Service Directory & Dependency Structure

Services typically follow a canonical directory structure:

//services/service_name/               # Private implementation
                        public/
                               mojom/  # Mojom interfaces
                               cpp/    # C++ client libraries (optional)
                               java/   # Java client libararies (optional, rare)
                               js/     # JS client libraries (optional, rare)

As a general rule, nothing below /public can depend on the private service implementation (i.e. things above /public). Enforcing this principle makes it much easier to keep the service's state well-isolated from the rest of the system.

Generally the language-specific client libraries are built against only the public mojom API of the service (and usually few other common dependencies like //base and //mojo).

Even in the private service implementation, services should not depend on very large components like Content, Chrome, or Blink.

NOTE: Exceptions to the above rule are made in rare cases where Blink or V8 is actually required as part of the service implementation. For example "data_decoder" uses Blink implementation to decode common image formats, and "proxy_resolver" uses V8 to execute proxy autoconfig scripts.

Service Documentation

  • Every service should have a top-level README.md that explains the purpose and supported usage models of the service.

  • Every public interface should be documented within its Mojom file at both the interface level and indivudal message level.

  • Interface documentation should be complete enough to serve as test specifications. If the method returns information of a user's accounts, what should happen if the user is not signed in? If the method makes a request for an access token, what happens if a client makes a second method call before the first one has completed? If the method returns a nullable object, under which conditions will it be null?

  • Avoid writing interface documentation which is unnecessarily prescriptive about implementation details. Keep in mind that these are interface definitions, not implementations thereof.

  • Avoid writing documentation which is tailored to a specific client.

Service Testing

  • Try to cover service implementation details with unit tests tied as closely as possible to the private implementation object or method being tested, rather than exercising implementation details through public API surface.

  • For integration tests, try to have tests cover as much of the public API surface as possible while mocking out as little of the underlying service as possible.

  • Treat the public API tests as “conformance tests” which clearly demonstrate what expectations and guarantees are supposed to be upheld by any implementation of the service's APIs.

Adding a New Service

Please start a thread on services-dev@chromium.org if you want to propose the introduction of a new service.

If you are servicifying an existing Chromium feature, please check out Servicifying Chromium Features.

Other Docs

Here are some other external documents that aren't quite fully captured by any documents in the Chromium tree. Beware of obsolete information:

Additional Support

You can always post to services-dev@chromium.org with questions or concerns about anything related to service development.

什么时候种玉米 文字属于五行属什么 用一什么就什么造句 什么什么若狂 长期喝苦荞茶有什么好处
什么叫混合斑块 小儿厌食吃什么药最好 治癜风擦什么药好的快 湿疹什么样 S是什么牌子鞋
腮腺炎不能吃什么 什么叫做绝对值 肺部有空洞是什么病症 信阳毛尖属于什么茶 打更的人叫什么
牙齿遇热就疼什么原因 为什么手比脸白那么多 肾气不足吃什么中成药 荔枝不能和什么同吃 右边脸疼是什么原因
为什么眼睛有红血丝hcv8jop9ns3r.cn 傻人有傻福什么意思hanqikai.com 柔是什么意思hcv8jop3ns3r.cn 洗面奶什么时候用最好hcv7jop5ns5r.cn 一步之遥是什么意思hcv9jop8ns2r.cn
七夕送老婆什么cj623037.com 什么地摇动hcv8jop9ns9r.cn 孕妇耻骨疼是什么原因hcv8jop0ns9r.cn ep病毒是什么hcv8jop2ns3r.cn 湖北九头鸟是什么意思hcv9jop3ns1r.cn
陈皮是什么做的hcv9jop7ns5r.cn 羊是什么命xinmaowt.com 宇宙的尽头是什么hcv9jop0ns4r.cn 赤小豆和红豆有什么区别hanqikai.com 素来是什么意思hcv8jop9ns1r.cn
1978年是什么年hcv8jop2ns7r.cn 平安夜送女朋友什么hcv7jop6ns7r.cn 手抖是什么病的前兆hcv9jop5ns5r.cn 左边小腹疼是什么原因wzqsfys.com 芨芨草长什么样图片hcv9jop2ns0r.cn
百度