PUBLIC - Liferay Portal Community Edition
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-30680

Dragging portlet can cause red screen when in IE8 and in document mode of IE7

    Details

    • Branch Version/s:
      6.1.x
    • Backported to Branch:
      Committed
    • Fix Priority:
      3
    • Similar Issues:
      Show 5 results 

      Description

      When IE8 is set to Document Mode of IE7, dragging and dropping portlets, the entire screen can turn red. This is most likely due to opacity handling.

      This issue can be intermittent, but here is the most consistent way to reproduce:
      1. Startup Liferay (I was using Trunk Rev127035)
      2. Before going to Liferay, set IE8 to be in Browser Mode: IE8, Document Mode: IE7
      (see screenshot)
      3. Create a new page called "test"
      4. Under the "Add" Menu, click More
      5. Drag 1 portlet into a column (valid dropzone). (You'll see the blue placeholder.)
      6. Drag another portlet somewhere other than a valid dropzone. Be sure to not drag over any valid dropzones (columns). If the blue placeholder displays, you'll need to refresh the page and start again at Step 4.
      7. Once you've let go of the mouse. Hover over a valid dropzone. The blue line will now display. Click the mouse to "drop" the portlet.
      8. Attempt to drag another portlet. You'll get a red & orange screen as shown in the screenshot.

        Issue Links

          Activity

          Hide
          Byrån Zaugg added a comment -

          I was never able to, directly, figure out why < IE9 was breaking alpha(opacity) after a JS error. But, I was able to fix the JS error. And now the opacity bug does not appear.

          The problem was instance.appendNode was being set on the first successful drop, but on each unsuccessful drop, instance.appendNode never got updated from the previous value.

          So after instance.appendNode usage is done, I see it to null, so on the next drag, it has a "fresh" state.

          Show
          Byrån Zaugg added a comment - I was never able to, directly, figure out why < IE9 was breaking alpha(opacity) after a JS error. But, I was able to fix the JS error. And now the opacity bug does not appear. The problem was instance.appendNode was being set on the first successful drop, but on each unsuccessful drop, instance.appendNode never got updated from the previous value. So after instance.appendNode usage is done, I see it to null, so on the next drag, it has a "fresh" state.
          Hide
          Eduardo Lundgren added a comment -

          hey guys,

          _onDragEnd was only invoking the _getAppendNode if lazyEvents is false, and when we were not entering a valid drop area it was set to true _onDragStart, that was causing that the instance.appendNode._node reference to be not valid anymore.

          Instead of introducing the instance.appendNode on AlloyUI side, is better just to assure that we always force lazyEvents to false _onDragStart, so then it will always invoke the _getAppendNode, therefore, the instance.appendNode will contains a valid node when _onDragEnd executes on portal layout javascript.

          See https://github.com/brianchandotcom/liferay-portal/pull/7697

          Show
          Eduardo Lundgren added a comment - hey guys, _onDragEnd was only invoking the _getAppendNode if lazyEvents is false, and when we were not entering a valid drop area it was set to true _onDragStart, that was causing that the instance.appendNode._node reference to be not valid anymore. Instead of introducing the instance.appendNode on AlloyUI side, is better just to assure that we always force lazyEvents to false _onDragStart, so then it will always invoke the _getAppendNode, therefore, the instance.appendNode will contains a valid node when _onDragEnd executes on portal layout javascript. See https://github.com/brianchandotcom/liferay-portal/pull/7697
          Hide
          Eduardo Lundgren added a comment -

          hey guys,

          _onDragEnd was only invoking the _getAppendNode if lazyEvents is false, and when we were not entering a valid drop area it was set to true _onDragStart, that was causing that the instance.appendNode._node reference to be not valid anymore.

          Instead of introducing the instance.appendNode on AlloyUI side, is better just to assure that we always force lazyEvents to false _onDragStart, so then it will always invoke the _getAppendNode, therefore, the instance.appendNode will contains a valid node when _onDragEnd executes on portal layout javascript.

          See https://github.com/brianchandotcom/liferay-portal/pull/7697

          Show
          Eduardo Lundgren added a comment - hey guys, _onDragEnd was only invoking the _getAppendNode if lazyEvents is false, and when we were not entering a valid drop area it was set to true _onDragStart, that was causing that the instance.appendNode._node reference to be not valid anymore. Instead of introducing the instance.appendNode on AlloyUI side, is better just to assure that we always force lazyEvents to false _onDragStart, so then it will always invoke the _getAppendNode, therefore, the instance.appendNode will contains a valid node when _onDragEnd executes on portal layout javascript. See https://github.com/brianchandotcom/liferay-portal/pull/7697
          Hide
          Tammy Fong added a comment -

          Committed on:
          Portal 6.2.x GIT ID: df28a67afcc7d95e66f954531e63c680f17bf7f5.

          Show
          Tammy Fong added a comment - Committed on: Portal 6.2.x GIT ID: df28a67afcc7d95e66f954531e63c680f17bf7f5.
          Hide
          Pani Gui (Inactive) added a comment -

          PASSED Manual Testing following the steps in the description.

          Reproduced on:
          Tomcat 7.0 + MySQL 5. Portal 6.1.20 EE GA2.

          Getting red screen when dragging portlets in IE8 with document mode of IE7.

          Fixed on:
          Tomcat 7.0 + MySQL 5. Portal 6.1.x EE GIT ID: 1f82748a33f2a456bb0f125deaae381c8d12bc4b.
          Tomcat 7.0 + MySQL 5. Portal 6.2.x GIT ID: 9b255d10809de5409f17b494dc9b54d96415d181.

          Page will not be red when dragging portlets.

          Show
          Pani Gui (Inactive) added a comment - PASSED Manual Testing following the steps in the description. Reproduced on: Tomcat 7.0 + MySQL 5. Portal 6.1.20 EE GA2. Getting red screen when dragging portlets in IE8 with document mode of IE7. Fixed on: Tomcat 7.0 + MySQL 5. Portal 6.1.x EE GIT ID: 1f82748a33f2a456bb0f125deaae381c8d12bc4b. Tomcat 7.0 + MySQL 5. Portal 6.2.x GIT ID: 9b255d10809de5409f17b494dc9b54d96415d181. Page will not be red when dragging portlets.
          Hide
          Michael Saechang added a comment -

          Thank you Pani for testing. Closing as 'Fixed'.

          Show
          Michael Saechang added a comment - Thank you Pani for testing. Closing as 'Fixed'.

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                2 years, 36 weeks, 2 days ago

                Development

                  Structure Helper Panel