Autofill v8.5.0 released

82 views
Skip to first unread message

thdoan

unread,
May 31, 2018, 6:44:33 AM5/31/18
to Autofill Chrome Extension
This is a minor release to do some cleanup. I've also added a new section to the description to list the permissions that are used by this extension:

PERMISSIONS

The following permissions are required by this extension:
  • host (http://*/*, https://*/*, file://*/*): allow Autofill to operate on all non-secure pages, secure pages, and local files. This permission displays the warning "Read and change all your data on the websites you visit". Technically, Autofill has to be able to "read" the data (to detect form fields) and "change" the data as well (to fill out the form for you); however, Autofill does not and will never track your browsing history.
  • contextMenus: add Autofill to the right-click context menu. This permission displays no warning message.
  • storage: store data on your hard drive. This permission displays no warning message.
  • unlimitedStorage: allow unlimited storage (without this permission you would only be able to store 5 MB of data). This permission displays no warning message.
  • webNavigation: detect when a web page is loaded to reset the icon badge count. This permission displays the warning "Read your browsing history" (Autofill does not and will never track your browsing history).
==

Changelog:
  • Now prioritizing label matching over attribute matching
  • Improved migration code
  • Removed label match option (no longer necessary)

stanisla...@gmail.com

unread,
May 31, 2018, 9:32:01 AM5/31/18
to Autofill Chrome Extension
There is a problem, the filling does not work if the Site (Document title or URL required to trigger autofill):

The problem is most likely in the "?" - because https://examplesitename/index.php - works correctly.

thdoan

unread,
May 31, 2018, 4:44:02 PM5/31/18
to Autofill Chrome Extension
Hi, thanks for reporting this. Let me look into this and get it fixed ASAP...

thdoan

unread,
Jun 1, 2018, 4:51:00 AM6/1/18
to Autofill Chrome Extension
Hi there, I had a chance to look at this issue just now and your hunch was correct: it's the "?".

The Name, Site, and Exceptions fields all take "regular expressions". Now this makes them super powerful, but one downside is there are some reserved characters that need to be "escaped" (i.e., preceded with a "\" backslash). The question mark is one of them, so all you have to do to fix this is change your site filter to this:

https://examplesitename/index.php\?action=post;testtopic=1.0

This should do the trick. Here's the full list of reserved characters: ^ $ . ? + * \ | ( ) { } [ ]

For the next update I'm going to added this to the help bubble when you move the cursor over the "?" icon in the Site column header.

Cheers,
Tom


On Thursday, May 31, 2018 at 6:32:01 AM UTC-7, stanislavmisin579 wrote:

thdoan

unread,
Jun 1, 2018, 4:57:28 AM6/1/18
to Autofill Chrome Extension
P.S. The reason we don't really need to escape the dot is because in regex lingo it matches one character, which turns out to be the literal dot. The question mark, on the other hand, is like an operator to look for a match for 0 or 1 instance of the character before it. Example: php?action would match "phaction" or "phpaction", but never "php?action". Regex is pretty powerful even if you just grasp the basics; you can learn more here: https://www.w3schools.com/jsref/jsref_obj_regexp.asp

zee...@gmail.com

unread,
Jun 1, 2018, 8:34:47 AM6/1/18
to Autofill Chrome Extension
Hello Thodan,

I am sad to report a problem with your wonderful extension.

I use it on a heavily iframed and scripted site and noticed most of the rules do not work anymore and the Chrome console is filled with thousands of
"Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "https://<snip>.com" from accessing a cross-origin frame.
    at chrome-extension://nlmmgnhgdeffjkdckmikfpnddkbbfkkk/js/autofill.js:7:1733"


It started today and happens even after I removed all rules. Nothing was working anyway, so I am starting from scratch.

I'm afraid the change that caused this is preventing some rules that worked earlier from working. The AutoFill updated itself to 8.5.0 for me today but I do not know what was the version before.

Regards
Zack

thdoan

unread,
Jun 1, 2018, 1:45:56 PM6/1/18
to Autofill Chrome Extension
Hi Zack, thanks for reporting this -- would you be able to provide me the URL for testing? That's the only way I can assure a fix works before releasing an update.

Thanks,
Tom

thdoan

unread,
Jun 1, 2018, 2:35:03 PM6/1/18
to Autofill Chrome Extension
UPDATE: I was able to replicate this error on Facebook, so I will use this as a test case.

thdoan

unread,
Jun 1, 2018, 6:11:48 PM6/1/18
to Autofill Chrome Extension
Hi, please let me know if you still see the problem in Autofill v8.8.0 (should be updated soon). The cross-origin errors went away for me in FB.


On Friday, June 1, 2018 at 5:34:47 AM UTC-7, zeekano wrote:

zee...@gmail.com

unread,
Jun 4, 2018, 5:20:29 AM6/4/18
to Autofill Chrome Extension
Hello Thodan,

Thanks for your quick reply. Unfortunately, as of 8.11.0, the issue persists.
I'm afraid I can't send you the link as it is a log-in portal.
I'm fairly clued-up, so if there's anything I can do or logs I can record, I should be able to collect it.

The messages again:
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "https://thomsonreuterstrust.my.salesforce.com" from accessing a cross-origin frame.
    at chrome-extension://nlmmgnhgdeffjkdckmikfpnddkbbfkkk/js/autofill.js:7:2213
(anonymous) @ autofill.js:formatted:83



Chrome highlights this part:
function initHtmlField(n, t) {
    if (n.timer === undefined || n.sync) {
        var i, f = 0, u = 0, r;
        n.initialValue = t;
        n.timer = setInterval(function(n) {
            if (n.isContentEditable ? (i = n, r = !0) : (i = n.contentDocument && n.contentDocument.body, r = n.contentDocument && n.contentDocument.readyState === "complete"), i)
 
Specifically, it throws error when processing this: n.contentDocument

I guess it might have something to do with the fact that the main page is "https://thomsonreuterstrust.my.salesforce.com/" but iframes are from a different domain "https://thomsonreuterstrust--c.na87.visual.force.com". With FB it was likely all in the same domain.

Does that help?

Best regards

zee...@gmail.com

unread,
Jun 4, 2018, 8:57:55 AM6/4/18
to Autofill Chrome Extension
Hello Thodan,

I have checked one of the older versions (7.8.0) and it reports exactly the same error.
Is there a place where I can find version 8 builds? I may be able to otherwise help with locating the issue by trying old versions and comparing code.

Best regards
Zack

thdoan

unread,
Jun 4, 2018, 3:14:11 PM6/4/18
to Autofill Chrome Extension
Right now I'm going on a bunch of different complex sites like Slack.com and trying to reproduce this cross-origin error, but so far no luck :(. I reckon the salesforce portal can't be the only site giving this error...if you come across any please let me know.

thdoan

unread,
Jun 4, 2018, 3:38:14 PM6/4/18
to Autofill Chrome Extension
Hi Zack, I just released v8.11.2 -- please let me know if this fixes the cross-origin errors.

Tom

zee...@gmail.com

unread,
Jun 5, 2018, 6:27:39 AM6/5/18
to Autofill Chrome Extension
Hey Thodan,

You are awesome!
The errors have gone away now.
Was it much work to track the cause?

Kind regards
Zack

thdoan

unread,
Jun 5, 2018, 3:31:19 PM6/5/18
to Autofill Chrome Extension
A few patches here and there, but nothing too drastic. I'm still not able to reproduce the issues you mentioned, so it was a shot in the dark based on some theories, but I'm glad it fixed it for you :-).
Reply all
Reply to author
Forward
0 new messages