Bug in WebBrowserComponent


#1

Hi,

there seems to be a bug in WebBrowserComponent on iOS,  although it may be an iOS bug. If you create a WebBrowserComponent and view a page on the iPad in landscape orientation  (simulator or real device) then a dropdown lists will drop down horixontally, even though the web page is rendered in the correct orientation. This little snippet is enough to demo that

MainContentComponent::MainContentComponent()

{

    Rectangle<int> screenRect = Desktop::getInstance().getDisplays().getTotalBounds(true);

    setBounds( screenRect );

    webBrowser = new WebBrowserComponent;

    webBrowser->setBounds(0, 0, getWidth(), getHeight());

    addAndMakeVisible(webBrowser);

    webBrowser->goToURL("http://www.juce.com/forum");

}

Any ideas?

Using Xcode 5.1.1,  iOS 7.1 (simulator & device),  JUCE 3.0.5


#2

I checked on the iOS demo code in the PrintWebView example and this works fine, so it's definitely a JUCE thing. Can't for the life of me work out why the JUCE component isn't working. Idea's anyone?


#3

Must be due to the way the juce windows use a transform to rotate themselves when the device is rotated, but I don't know why the web-browser doesn't also automatically adjust..! There must be some kind of special iOS setting that needs to be used to tell the browser what's going on, but I'm stumped..!


#4

If you can point me to where the transformation is done, I'll see if I can find the problem


#5

Oh, it's nasty stuff! The file to look at would be juce_ios_UIViewComponentPeer.mm