<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>211994</bug_id>
          
          <creation_ts>2020-05-17 03:08:21 -0700</creation_ts>
          <short_desc>MobileSafari falsely claims CSS resize property support</short_desc>
          <delta_ts>2022-05-18 05:23:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>iOS 13</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210473</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bramus">bramus</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gsnedders</cc>
    
    <cc>koivisto</cc>
    
    <cc>mjs</cc>
    
    <cc>ntim</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1653396</commentid>
    <comment_count>0</comment_count>
    <who name="Bramus">bramus</who>
    <bug_when>2020-05-17 03:08:21 -0700</bug_when>
    <thetext>Recently I wrote an article on using CSS `resize: both;`: https://www.bram.us/2020/05/15/css-only-resizable-elements/

In browsers that don&apos;t support this property I wanted to show a warning on screen to notify users thereof. For this I use an @supports rule:

```css
.warning {
    display: block;
}

/* Hide warning in case browser supports resize: both; */
@supports (resize: both) {
    .warning {
        display: none;
    }
}
```

I&apos;ve come to notice that MobileSafari – which does not support `resize: both;` – hides the warning and thus falsely claims to support said CSS resize property.

Demo: https://codepen.io/bramus/pen/RwWeqOP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653549</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-18 03:48:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/63335059&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868870</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-13 14:55:29 -0700</bug_when>
    <thetext>The CSS property is technically detected/understood by the engine on mobile. It&apos;s just that we decide to hide the resizer on mobile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868888</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-05-13 15:24:06 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #2)
&gt; The CSS property is technically detected/understood by the engine on mobile.
&gt; It&apos;s just that we decide to hide the resizer on mobile.

Who owns the resizer? It seems like the resizer and the property should both be linked to a single setting if WebKit owns it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868911</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-13 16:31:08 -0700</bug_when>
    <thetext>The resizer is implemented in RenderLayer.cpp (see canResize() and friends).

But yeah I agree, the best way to make supports work properly is to guard the CSS property behind a flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868935</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-05-13 18:24:48 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #4)
&gt; The resizer is implemented in RenderLayer.cpp (see canResize() and friends).
&gt; 
&gt; But yeah I agree, the best way to make supports work properly is to guard
&gt; the CSS property behind a flag.

I… actually knew that. I guess my question was more &quot;what hides it on mobile&quot;, or causes it to not be painted? Is it simply that they don&apos;t have a layer or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868966</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-14 00:00:37 -0700</bug_when>
    <thetext>(In reply to Sam Sneddon [:gsnedders] from comment #5)
&gt; (In reply to Tim Nguyen (:ntim) from comment #4)
&gt; &gt; The resizer is implemented in RenderLayer.cpp (see canResize() and friends).
&gt; &gt; 
&gt; &gt; But yeah I agree, the best way to make supports work properly is to guard
&gt; &gt; the CSS property behind a flag.
&gt; 
&gt; I… actually knew that. I guess my question was more &quot;what hides it on
&gt; mobile&quot;, or causes it to not be painted? Is it simply that they don&apos;t have a
&gt; layer or something?

No idea, maybe Simon can answer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869016</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-05-14 10:47:16 -0700</bug_when>
    <thetext>I think the primary issue here is that we&apos;d need to implement some touch event handling on iOS to actually support user interaction with the resize. That was never done, so early in iOS development it was decided to just not paint the resize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869623</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-05-17 02:31:28 -0700</bug_when>
    <thetext>Ah, it&apos;s BuilderConverter::convertResize which contains the check, and the TextAreasAreResizable setting. We probably just want to gate the resize property on that setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869963</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-18 05:23:30 -0700</bug_when>
    <thetext>(In reply to Sam Sneddon [:gsnedders] from comment #8)
&gt; Ah, it&apos;s BuilderConverter::convertResize which contains the check, and the
&gt; TextAreasAreResizable setting. We probably just want to gate the resize
&gt; property on that setting.

The check in that function is only for `resize: auto` (a non-standard value fwiw), this bug is about `resize: both`.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>