ICEfaces
  1. ICEfaces
  2. ICE-8758

ice:outputStyle - Does not always work to deliver browser specific css files

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-1.8.2.GA_P04, EE-3.0.0.GA_P01, 3.2
    • Fix Version/s: EE-3.3.0.GA, EE-1.8.2.GA_P07
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All
    • Assignee Priority:
      P3
    • Salesforce Case Reference:

      Description


      In the "ice:outputStyle" taglib documentation it indicates that the filename contained
      in the 'href="file.css"' parameter will also attempt to deliver a browser-specific version of the CSS file
      if the browser-specific file is found, and the "file.css" if not.

      Icefaces uses the User-Agent header in the request to determine what browser-specific CSS file to deliver.

      Browser-specific CSS files look like "file_ie7.css" or "file_ie8.css".

      The way this delivery is accomplished in the original code is by appending a new "link" tag to the existing one, so there are then
      two links seen in the source, one for the original file and one for the new browser-specific (e.g. "..._ie8.css") one.

      In the example application we have two CSS files, and each of their browser-specific counterparts existing in the "css" directory:

      css/test1.css
      css/test1_ie7.css
      css/test1_ie8.css
      css/test2.css
      css/test2_ie7.css
      css/test2_ie8.css

      When "ice:outputStyle" tags are provided for both css/test1.css and css/test2.css, we should see four <link> tags like this:

      <link href="css/test1.css" rel="stylesheet" type="text/css" />
      <link href="css/test1_ie8.css" rel="stylesheet" title="_ie8" type="text/css" />
      <link href="css/test2.css" rel="stylesheet" type="text/css" />
      <link href="css/test2_ie8.css" rel="stylesheet" title="_ie8" type="text/css" />

      Unfortunately, sometimes this doesn't work.

      In particular, if an absolute path starting with "/" is used in the "href" attribute, or if a relative path starting with ".."
      is used, IceFaces OutputStyleRenderer code looks in the wrong place to determine if the browser-specific version of
      the file exists.
      1. Document6.txt
        5 kB
        yip.ng
      2. OutputStyleRenderer.java
        13 kB
        yip.ng
      1. screenshot-01.png
        218 kB
      2. screenshot-02.png
        120 kB
      3. screenshot-03.png
        88 kB
      4. screenshot-04.png
        96 kB
      5. screenshot-05.png
        117 kB
      6. screenshot-06.png
        126 kB
      7. screenshot-07.png
        119 kB
      8. screenshot-08.png
        278 kB
      9. screenshot-09.png
        137 kB
      10. screenshot-10.png
        151 kB

        Activity

        Migration created issue -
        Migration made changes -
        Field Original Value New Value
        Reporter Migration [ remote ] Arran Mccullough [ arran.mccullough ]
        Migration made changes -
        Attachment Case11759Example.zip [ 14999 ]
        Arran Mccullough made changes -
        Salesforce Case Reference 5007000000PW3VFAA1
        Ken Fyten made changes -
        Assignee yip.ng [ yip.ng ]
        Fix Version/s EE-3.3.0.GA [ 10572 ]
        Fix Version/s EE-1.8.2.GA_P07 [ 10672 ]
        Assignee Priority P3 [ 10012 ]
        yip.ng made changes -
        Attachment screenshot-01.png [ 15719 ]
        yip.ng made changes -
        Attachment screenshot-02.png [ 15720 ]
        yip.ng made changes -
        Attachment screenshot-03.png [ 15721 ]
        yip.ng made changes -
        Attachment screenshot-04.png [ 15722 ]
        Arran Mccullough made changes -
        Attachment Case11759ExampleWAR.zip [ 15724 ]
        yip.ng made changes -
        Attachment Document6.txt [ 15726 ]
        yip.ng made changes -
        Attachment screenshot-05.png [ 15727 ]
        yip.ng made changes -
        Attachment screenshot-06.png [ 15728 ]
        yip.ng made changes -
        Attachment screenshot-07.png [ 15729 ]
        yip.ng made changes -
        Attachment OutputStyleRenderer.java [ 15730 ]
        yip.ng made changes -
        Attachment screenshot-08.png [ 15731 ]
        yip.ng made changes -
        Attachment screenshot-09.png [ 15732 ]
        yip.ng made changes -
        Attachment screenshot-10.png [ 15736 ]
        yip.ng made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Cruz Miraback made changes -
        Attachment ICE-8758-1.8.2_P07.war [ 16126 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            yip.ng
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: