<?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>121496</bug_id>
          
          <creation_ts>2013-09-17 09:01:02 -0700</creation_ts>
          <short_desc>webkitRequestFullScreen with ALLOW_KEYBOARD_INPUT does not allow inputs</short_desc>
          <delta_ts>2016-08-01 00:27:58 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://sprymedia.co.uk/media/misc/webkit/fullscreen-input.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Allan Jardine">allan.jardine</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>chrisjshull</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlaliberte</cc>
    
    <cc>jonlee</cc>
    
    <cc>jradosz+webkit</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930253</commentid>
    <comment_count>0</comment_count>
      <attachid>211913</attachid>
    <who name="Allan Jardine">allan.jardine</who>
    <bug_when>2013-09-17 09:01:02 -0700</bug_when>
    <thetext>Created attachment 211913
Page showing the inability to go full screen with ALLOW_KEYBOARD_INPUT

The documentation for webkitRequestFullScreen on the Apple web-site says that we should be able to pass in Element.ALLOW_KEYBOARD_INPUT into webkitRequestFullScreen to allow keyboard input when fullscreen. This is not the case - we don&apos;t even get as far as trying to enter text in full screen, we simply don&apos;t go full screen at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930659</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-09-18 10:04:33 -0700</bug_when>
    <thetext>This is intentional; the ability to accept alphanumeric keyboard events in full screen mode is considered a security risk, and the Apple port has disabled this feature.  The Safari developer documentation is (unfortunately) out-of-date.

Additionally, the most recent draft of the Fullscreen API spec &lt;https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html&gt; has removed the `flags` parameter from Element.requestFullScreen().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930738</commentid>
    <comment_count>2</comment_count>
    <who name="Allan Jardine">allan.jardine</who>
    <bug_when>2013-09-18 14:03:53 -0700</bug_when>
    <thetext>Thanks for the feedback!

Is there any way to know that an input has been blocked? An event being fired in Javascript perhaps? At the moment, users of my application (video based, so it leads itself to full screening) will simply here a system alert and see there input not being entered. An event would at least let me tell them that Safari is blocking the input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930753</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-09-18 14:49:46 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Thanks for the feedback!
&gt; 
&gt; Is there any way to know that an input has been blocked? An event being fired in Javascript perhaps? At the moment, users of my application (video based, so it leads itself to full screening) will simply here a system alert and see there input not being entered. An event would at least let me tell them that Safari is blocking the input.

No, there isn&apos;t an error message generated. (A clever attacker could use those error events; we just eat them silently instead.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202400</commentid>
    <comment_count>4</comment_count>
    <who name="Jon">jonlaliberte</who>
    <bug_when>2016-06-14 17:41:04 -0700</bug_when>
    <thetext> &gt; No, there isn&apos;t an error message generated. (A clever attacker could use
&gt; those error events; we just eat them silently instead.)

Wouldn&apos;t it be better to ask the user for permission to go full screen, and allow text input after that?

As is, it really limits the web apps you&apos;re able to build without being able to use text input.

I also tried using the js prompt function to request data while full screen. That did not end well at all in Safari.

You can see here: http://www.jonathanlaliberte.com/fullscreentest.html

It works well in Firefox and Chrome, but in Safari it seems to lock up the current tab.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>211913</attachid>
            <date>2013-09-17 09:01:02 -0700</date>
            <delta_ts>2013-09-17 09:01:02 -0700</delta_ts>
            <desc>Page showing the inability to go full screen with ALLOW_KEYBOARD_INPUT</desc>
            <filename>fullscreen-input.html</filename>
            <type>text/html</type>
            <size>888</size>
            <attacher name="Allan Jardine">allan.jardine</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEg
aHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRm
LTgiIC8+CgkJCgkJPHRpdGxlPlRlc3Q8L3RpdGxlPgoKCQk8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ0RP
TUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7Cgl2YXIgZnVsbHNjcmVlbiA9IGZhbHNlOwoJ
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvZ2dsZScpLmFkZEV2ZW50TGlzdGVuZXIoICdjbGlj
aycsIGZ1bmN0aW9uIChlKSB7CgkJZS5wcmV2ZW50RGVmYXVsdCgpOwoKCQlpZiAoIGZ1bGxzY3Jl
ZW4gKSB7CgkJCWRvY3VtZW50LndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKTsKCQkJZnVsbHNjcmVl
biA9IGZhbHNlOwoJCX0KCQllbHNlIHsKCQkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LndlYmtp
dFJlcXVlc3RGdWxsU2NyZWVuKCBFbGVtZW50LkFMTE9XX0tFWUJPQVJEX0lOUFVUICk7CgkJCWZ1
bGxzY3JlZW4gPSB0cnVlOwoJCX0KCX0sIGZhbHNlICk7Cn0sIGZhbHNlICk7CgoJCTwvc2NyaXB0
PgoJPC9oZWFkPgoJPGJvZHk+CgkJPGRpdiBpZD0iYWxsYW4iPgoJCQlDYW5ub3QgZW50ZXIgZnVs
bCBzY3JlZW4gd2l0aCBFbGVtZW50LkFMTE9XX0tFWUJPQVJEX0lOUFVUOjxicj4KCQkJPGlucHV0
IHR5cGU9InRleHQiPgoJCQk8YnV0dG9uIGlkPSJ0b2dnbGUiPlRvZ2dsZSBmdWxsIHNjcmVlbjwv
YnV0dG9uPgoJCTwvZGl2PgoJPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
      

    </bug>

</bugzilla>