Intent to Deprecate and Remove: WebKitPoint

437 views
Skip to first unread message

Philip Jägenstedt

unread,
Aug 29, 2014, 4:39:10 PM8/29/14
to blink-dev
Primary eng (and PM) emails

phi...@opera.com


Summary

Remove the WebKitPoint interface on master and the M38 branch.


Motivation

The removal of webkitConvertPointFromPageToNode() and webkitConvertPointFromNodeToPage() broke a script which uses WebKitPoint for feature detection:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/KS5GAM7JXtg/3jx_wEo5_LoJ 


The author contacted blink-dev and recommended either removing WebKitPoint as well, or reverting the removal for now. Despite the low impact, it's a reasonable request given the connection between the APIs.

Since the removal, WebKitPoint isn't passed to or returned from any other function. The only thing one can do is create objects with new WebKitPoint(x,y) and read back the values.


Compatibility Risk

Likely low. Since the object can only be used meaningfully together with webkitConvertPointFromPageToNode() and webkitConvertPointFromNodeToPage() it's likely that usage is similar to those, which is extremely low:

http://www.chromestatus.com/metrics/feature/timeline/popularity/359


Alternative implementation suggestion for web developers

If used together with webkitConvertPointFromPageToNode() and webkitConvertPointFromNodeToPage(), see the previous thread.


If used in isolation (unlikely) just use an object literal { x: x, y: y} or similar.


Usage information from UseCounter

http://www.chromestatus.com/metrics/feature/timeline/popularity/488


This use counter has not reached stable, which makes the removal speculative.


Entry on chromestatus.com, crbug.com, or MDN

None.


Requesting approval to remove too?

Yes. If we learn about some problematic sites and they need time to stop using WebKitPoint, we can revert
both removals together and wait.

I preemptive acknowledge that PhistucK favors waiting for use counter data, but have nothing useful to say on that disagreement.

PhistucK

unread,
Aug 29, 2014, 5:11:58 PM8/29/14
to Philip Jägenstedt, blink-dev

Philip Jägenstedt

unread,
Aug 29, 2014, 5:41:07 PM8/29/14
to PhistucK, blink-dev
Thanks, that's interesting and a bit sad. Fortunately, tablesaw appears to be the only repo with many forks, and since it says "window
.blackberry && !window.WebKitPoint" it won't make any difference.

Note that when an interface object on window is accessed, that doesn't register with use counter, only invoking the constructor is counted.
We'd have to tweak the IDL generator to get meaningful use counter data. This is something I should point out when it comes to future interface removals, since it's not at all obvious.

Philip

PhistucK

unread,
Aug 29, 2014, 5:52:25 PM8/29/14
to Philip Jägenstedt, blink-dev
There are many cases unrelated to Blackberry.


PhistucK

Philip Jägenstedt

unread,
Aug 30, 2014, 1:00:56 AM8/30/14
to PhistucK, blink-dev

Yes, but of the ones you found none have any forks on GitHub, which is encouraging.

PhistucK

unread,
Aug 31, 2014, 4:32:05 PM8/31/14
to Philip Jägenstedt, blink-dev
True, but the same code is used over and over again in various repositories, forks or not. The GitHub search has over 10,000 results.


PhistucK

Mike Sherov

unread,
Sep 1, 2014, 7:09:18 AM9/1/14
to PhistucK, Philip Jägenstedt, blink-dev
A slightly more filtered github search reveals far less matches:

https://github.com/search?l=javascript&q=WebKitPoint+NOT+webkitConvertPointFromPageToNode+NOT+webkitConvertPointFromNodeToPage+NOT+blackberry+NOT+shouldBeTrue&ref=searchresults&type=Code&utf8=✓

This search NOTS both companion functions, and also "blackberry" to filter out the "window.blackberry" case, and filters out clones of the WebKit test suite with "shouldBeTrue". 

Instead of >10,000 I get ~350, mostly used for crude WebKit browser sniffs which are possibly doing the wrong thing now since the blink/WebKit split. 

Sent from Mailbox

Eric Seidel

unread,
Sep 2, 2014, 1:59:49 PM9/2/14
to Mike Sherov, PhistucK, Philip Jägenstedt, blink-dev
LGTM to remove. If we don't remove things like this, then other
browsers will just have to implement them eventually:
http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx

Dimitri Glazkov

unread,
Sep 2, 2014, 2:00:52 PM9/2/14
to Eric Seidel, Mike Sherov, PhistucK, Philip Jägenstedt, blink-dev
LGTM2.

Jochen Eisinger

unread,
Sep 2, 2014, 2:01:48 PM9/2/14
to Dimitri Glazkov, blink-dev, Philip Jägenstedt, Mike Sherov, Eric Seidel, PhistucK

lgtm3

dark...@gmail.com

unread,
Nov 20, 2014, 8:13:25 AM11/20/14
to blin...@chromium.org
We have a problem with Sencha Touch 1.1.1 since yesterday because of the Google Update 39. How can we replace the framework's WebKitPoint code? Here is more info about the issue: http://stackoverflow.com/questions/27040297/uncaught-referenceerror-webkitpoint-is-not-defined

PhistucK

unread,
Nov 20, 2014, 8:35:46 AM11/20/14
to dark...@gmail.com, blink-dev
See https://crbug.com/434976 for alternatives (you will have to modify the Sencha JavaScript file).


PhistucK

On Thu, Nov 20, 2014 at 3:13 PM, <dark...@gmail.com> wrote:
We have a problem with Sencha Touch 1.1.1 since yesterday because of the Google Update 39. How can we replace the framework's WebKitPoint code? Here is more info about the issue: http://stackoverflow.com/questions/27040297/uncaught-referenceerror-webkitpoint-is-not-defined

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Reply all
Reply to author
Forward
0 new messages