NoScript bug affecting page cursor
Posted: Mon May 27, 2013 7:01 pm
Steps to Reproduce:
1. Run Firefox with NoScript enabled
2. Copy and paste the following into the URL bar and press Enter (may need to set noscript.allowURLBarJS to true):
3. Move the mouse over the page. As expected, the cursor is a hand cursor (pointer)
4. Click on the NoScript toolbar button to open the menu, then click again to close the menu
5. Now move the mouse back over the page
Expected result:
The cursor is still a pointer
Actual result:
The cursor has changed to an arrow
According to DOM Inspector, this CSS is added to the page, which is causing the problem by forcing the body cursor to auto:
The bug can also be triggered in other ways, for example by opening a new page in another tab and then switching back to the first tab.
1. Run Firefox with NoScript enabled
2. Copy and paste the following into the URL bar and press Enter (may need to set noscript.allowURLBarJS to true):
Code: Select all
data:text/html,<body style="height:2000px;cursor:pointer"></body>4. Click on the NoScript toolbar button to open the menu, then click again to close the menu
5. Now move the mouse back over the page
Expected result:
The cursor is still a pointer
Actual result:
The cursor has changed to an arrow
According to DOM Inspector, this CSS is added to the page, which is causing the problem by forcing the body cursor to auto:
Code: Select all
body:not([id]) { cursor: auto !important } .__noscriptOpaqued__ { opacity: 1 !important; visibility: visible; filter: none !important } iframe.__noscriptOpaqued__ { display: block !important; } object.__noscriptOpaqued__, embed.__noscriptOpaqued__ { display: inline !important } .__noscriptJustOpaqued__ { opacity: 1 !important } .__noscriptScrolling__ { overflow: auto !important; min-width: 52px !important; min-height: 52px !important } .__noscriptNoScrolling__ { overflow: hidden !important } .__noscriptHidden__ { visibility: hidden !important } .__noscriptBlank__ { background-color: white !important; color: white !important; border-color: white !important; background-image: none !important }