Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove [NoInterfaceObject] #20

Merged
merged 1 commit into from
Feb 13, 2019
Merged

Conversation

anssiko
Copy link
Member

@anssiko anssiko commented Feb 12, 2019

Rename exposed interfaces

Fix #19

@anssiko
Copy link
Member Author

anssiko commented Feb 12, 2019

PTAL @reillyeon

Copy link
Member

@reillyeon reillyeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good except for one typo. 😅

index.html Outdated

callback PositionErrorCallback = void (PositionError positionError);
callback PositionErrorCallback = void (PositionErrorPositionError positionError);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/PositionErrorPositionError/NavigatorGeolocationPositionError/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing typo 🤣

Now fixed.

Rename exposed interfaces

Fix w3c#19
@anssiko
Copy link
Member Author

anssiko commented Feb 13, 2019

@Honry can help update https://github.com/web-platform-tests/wpt/tree/master/geolocation-API accordingly? TL;DR: this patch exposes some interfaces so maybe idlharness.js helps.

@anssiko anssiko merged commit de3d4ee into w3c:gh-pages Feb 13, 2019
@anssiko anssiko deleted the remove-nointerfaceobject branch February 13, 2019 10:22
@Honry
Copy link

Honry commented Feb 14, 2019

@foolip's bot will take care of every IDL updates. (i.e. the bot will automatically generate a PR with updated idlharness.js tests to reflect to every IDL updates in all specs.)

@anssiko
Copy link
Member Author

anssiko commented Feb 14, 2019

Props to @autofoolip for taking care of idlharness.js tests automatically.

IIUC the bot uses IDLs extracted by reffy (here https://github.com/web-platform-tests/wpt/blob/master/interfaces/geolocation-API.idl) that extracts them by crawling the TR version of the spec (in this case https://www.w3.org/TR/geolocation-API). What follows is that the IDL tests will be updated automatically only when a new spec version is published on TR.

My interpretation is we're still compliant with the test as you commit policy we follow in this group. We just need to publish a TR version after any substantial change to the spec IDL to trigger the IDL test update.

@Honry, please correct me if I'm wrong.

@Honry
Copy link

Honry commented Feb 14, 2019

All refreshed IDLs used by the bot are maintained in https://github.com/tidoust/reffy-reports/tree/master/w3c/idl

Looks like it crawls the ED version of the spec, for example, the bot updated the web-platform-tests/wpt#15125 while the IDL change is not published to TR yet.

@anssiko
Copy link
Member Author

anssiko commented Feb 14, 2019

@Honry, thanks for the clarification. Using IDL from EDs as the source sounds like a better solution. No issues then.

Copy link
Member

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:( late, but this would make a mess in Gecko. It means a ton of refactoring and renaming things/files. As @annevk mentioned, it’s probably not worth doing this at this point. These interfaces are already in browser engines and they don’t cause issues. I’d say switch all these back and just remove NoInterfaceObject only.

@marcoscaceres
Copy link
Member

Oh wait, did #23 undo this? If yes, yay 😃

@marcoscaceres
Copy link
Member

Anyway, please please please file bugs on Gecko with changes you are making, otherwise we are all going to get out of sync!

@reillyeon
Copy link
Member

#23 partially undid the rename. https://chromium-review.googlesource.com/c/chromium/src/+/1471230 is the change to implement this in Blink which I never merged due to some CQ flakiness. I should get on that.

It still renames,

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

@marcoscaceres
Copy link
Member

Ok, that’s not too bad... but if we can avoid the renaming entirely 🥰

@reillyeon
Copy link
Member

Wouldn't you agree that the names "coordinates" and "position" are likely to be confused with rendering concepts from other parts of the platform?

@marcoscaceres
Copy link
Member

Wouldn't you agree that the names "coordinates" and "position" are likely to be confused with rendering concepts from other parts of the platform?

From the engines perspective, no - because they are already implemented specifically for Geolocation.

From an authoring perspective, maybe: They don't have constructors, so they can't be directly used anyway. A new set of coordinates from any new spec could just be named 2DCoordinates and 3DPosition or whatever, without us needing to rename this one (i.e., this name is already squatted).

@reillyeon
Copy link
Member

If you are firmly opposed to renaming I agree that the names are already squatted and future APIs can work around it. From my perspective this is our last shot before renaming becomes impossible so it seems like a good opportunity to pick something less likely to cause confusion.

@anssiko
Copy link
Member Author

anssiko commented Aug 15, 2019

@marcoscaceres said:

As @annevk mentioned, it’s probably not worth doing this at this point.

Per my reading of #19 (comment) @annevk is not opposed to the idea of rename, just wanted the group to "carefully consider with what name to expose these interfaces and then please drop this.", where "drop this" refers to [NoInterfaceObject]. I feel the group did carefully consider the names as documented in #19 and #23.

To be clear, the following are the interfaces that dropped [NoInterfaceObject] and the renames to address #19:

Coordinates -> GeolocationCoordinates
Position -> GeolocationPosition
PositionError -> GeolocationPositionError

This seems like a good opportunity for implementers to roll both the (mostly) mechanical rename and the removal of [NoInterfaceObject] into the same patch as in https://chromium-review.googlesource.com/c/chromium/src/+/1471230

Yours,
Anssi the co-chair

@marcoscaceres
Copy link
Member

I think we need a third opinion here from the WebKit folks - otherwise this exercise is rather pointless. I'm willing to make the change in Gecko if they are also willing to make the change in WebKit. It's a bunch of refactoring work, so I'd personally prefer to spend time on other things. However, if others think this preemptive change is good for the platform, I'm ok to invest time to do the refactoring.

@anssiko
Copy link
Member Author

anssiko commented Aug 15, 2019

Looping in @cdumez for WebKit feedback. Here's the Blink patch of this spec change:
https://chromium-review.googlesource.com/c/chromium/src/+/1471230

@marcoscaceres
Copy link
Member

marcoscaceres commented Aug 15, 2019

While we are here, can I kindly request that we add:
https://github.com/w3c/screen-orientation/blob/gh-pages/.github/PULL_REQUEST_TEMPLATE.md

That way, we make sure nothing gets merged into the spec unless we have agreement from at least 2 browser vendors, browser bugs are filed, and we have tests?

@cdumez
Copy link

cdumez commented Aug 16, 2019

This looks reasonable. Where is the WebKit bug so that I can work on this?

@marcoscaceres
Copy link
Member

Curse you, @cdumez 😋 guess I’ll be refactoring too.

@anssiko
Copy link
Member Author

anssiko commented Aug 19, 2019

@cdumez, the WebKit bug is at https://webkit.org/b/200885 Thanks!

@marcoscaceres, you want me to open one for Gecko? You'll know Mozillians who should be cc'd in the bug, but I'm happy to create one if so preferred.

@marcoscaceres
Copy link
Member

That would be great! Please cc me and we will go from there.

@anssiko
Copy link
Member Author

anssiko commented Aug 20, 2019

@marcoscaceres, the Gecko bug is at https://bugzil.la/1575144 Thanks!

@marcoscaceres
Copy link
Member

Awesome, thanks!

@anssiko
Copy link
Member Author

anssiko commented Aug 26, 2019

The WebKit bug https://webkit.org/b/200885 is now fixed. That was fast, thanks @cdumez!

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Sep 11, 2019
This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f
marcoscaceres pushed a commit to web-platform-tests/wpt that referenced this pull request Sep 11, 2019
This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f
aarongable pushed a commit to chromium/chromium that referenced this pull request Sep 11, 2019
This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1471230
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695573}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Sep 14, 2019
…ve [NoInterfaceObject], a=testonly

Automatic update from web-platform-tests
[geolocation] Rename interfaces and remove [NoInterfaceObject]

This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f

--

wpt-commits: 99a9f0b73bd0ac3a739dfe2157b93578b760ed5d
wpt-pr: 18989
xeonchen pushed a commit to xeonchen/gecko that referenced this pull request Sep 14, 2019
…ve [NoInterfaceObject], a=testonly

Automatic update from web-platform-tests
[geolocation] Rename interfaces and remove [NoInterfaceObject]

This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f

--

wpt-commits: 99a9f0b73bd0ac3a739dfe2157b93578b760ed5d
wpt-pr: 18989
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 4, 2019
…ve [NoInterfaceObject], a=testonly

Automatic update from web-platform-tests
[geolocation] Rename interfaces and remove [NoInterfaceObject]

This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f

--

wpt-commits: 99a9f0b73bd0ac3a739dfe2157b93578b760ed5d
wpt-pr: 18989

UltraBlame original commit: d9416fbe9cef4320251f42861d2fd7dbf1bffe18
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 4, 2019
…ve [NoInterfaceObject], a=testonly

Automatic update from web-platform-tests
[geolocation] Rename interfaces and remove [NoInterfaceObject]

This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f

--

wpt-commits: 99a9f0b73bd0ac3a739dfe2157b93578b760ed5d
wpt-pr: 18989

UltraBlame original commit: d9416fbe9cef4320251f42861d2fd7dbf1bffe18
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 4, 2019
…ve [NoInterfaceObject], a=testonly

Automatic update from web-platform-tests
[geolocation] Rename interfaces and remove [NoInterfaceObject]

This change renames the following interfaces and removes the
[NoInterfaceObject] annotation so that these types are now exposed to
script:

  Coordinates   -> GeolocationCoordinates
  Position      -> GeolocationPosition
  PositionError -> GeolocationPositionError

This is done in response to an effort to remove this annotation from
WebIDL.

Spec pull requests (merged):
w3c/geolocation#20
w3c/geolocation#23

Intent to Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Xig9oewsQMA/eyC7dbtiAAAJ

Bug: 931847
Change-Id: I38d0172afc33d5757b664e2807356d8727e82d7f

--

wpt-commits: 99a9f0b73bd0ac3a739dfe2157b93578b760ed5d
wpt-pr: 18989

UltraBlame original commit: d9416fbe9cef4320251f42861d2fd7dbf1bffe18
@marcoscaceres
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove [NoInterfaceObject]
5 participants