Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#16812 closed defect (fixed)

Adapt Dojo Mobile iphone theme for iOS6

Reported by: Eric Durocher Owned by: Sebastien Brunot
Priority: undecided Milestone: 1.9.2
Component: DojoX Mobile Version: 1.8.3
Keywords: Cc: Patrick Ruzand, dg
Blocked By: Blocking:

Description

There are some slight changes in the native system iOS6 GUI regarding gradients, etc. We should adapt the Dojo Mobile "iphone" theme accordingly, adding variants in the existing theme based on a .dj_ios6 CSS class that will be set by the dojox/mobile code.

Attachments (2)

themeIOS6.patch (22.1 KB) - added by Sebastien Brunot 6 years ago.
add native iOS6 look to the iphone theme (IBM CCLA).
themeIOS6-2.patch (7.3 KB) - added by Sebastien Brunot 6 years ago.
you now have to opt-in for vertical stripes on iOS6 theme, using class mblIOS6Stripes on the body element (IBM CCLA)

Download all attachments as: .zip

Change History (24)

comment:1 Changed 6 years ago by Eric Durocher

Owner: changed from Eric Durocher to Sebastien Brunot
Status: newassigned

comment:2 Changed 6 years ago by Eric Durocher

Milestone: tbd1.9

Changed 6 years ago by Sebastien Brunot

Attachment: themeIOS6.patch added

add native iOS6 look to the iphone theme (IBM CCLA).

comment:3 Changed 6 years ago by Sebastien Brunot

This is the same as http://trac.dojotoolkit.org/ticket/16836 (the latter should be closed as a duplicate).

comment:4 Changed 6 years ago by Patrick Ruzand

Resolution: fixed
Status: assignedclosed

In [30860]:

add native iOS6 look to the iphone theme, fixes #16812, thx sbrunot (IBM,CCLA)

comment:5 Changed 6 years ago by Sebastien Brunot

Adding a second patch (to complement the first one) in order not to display the vertical stripes on the body background by default (this way, the user don't have to specify background-image: none for setting a plain background color on iOS6). To display the vertical stripes on iOS6, the user now have to explicitely set class="mblIOS6Stripes" on the body of the page.

Changed 6 years ago by Sebastien Brunot

Attachment: themeIOS6-2.patch added

you now have to opt-in for vertical stripes on iOS6 theme, using class mblIOS6Stripes on the body element (IBM CCLA)

comment:6 Changed 6 years ago by cjolif

In [31019]:

refs #16812. In iOS6 theme make the iOS6 specific background optional to ease background color changes. Thanks Sebastien Brunot (IBM, CCLA).

comment:7 Changed 6 years ago by Patrick Ruzand

In [31088]:

more ios6 tests, refs #16812

comment:8 Changed 6 years ago by Patrick Ruzand

[31088] thx sbrunot (IBM, CCLA)

comment:9 Changed 6 years ago by Douglas Hays

In [31092]:

Refs #16812. [30860] committed new files with incorrect SVN EOL properties.

comment:10 Changed 6 years ago by Adrian Vasiliu

Milestone: 1.9
Resolution: fixed
Status: closedreopened

comment:11 Changed 6 years ago by Adrian Vasiliu

Reopened because this needs to be revisited in the light of iOS 7. In dojox/mobile/uacss.js we add to html.className a CSS class as follows: has("ios") >= 6 ? "dj_ios6" : "" which means the body gets "dj_ios6" also on iOS 7. This is visible to users and is confusing when running on iOS 7. Revisiting it involves deciding whether all usages of the class "dj_ios6" in our ios theme should be restricted to 6.x, or some of these occurrences would better be kept for iOS 7 too.

comment:12 Changed 6 years ago by Sebastien Brunot

I suggest we close this issue until we have a proper iOS7 theme, which will resolve this.

comment:13 Changed 6 years ago by Sebastien Brunot

... unless users are REALLY annoyed with this, in which case I suggest that we add has("ios") < 7 in the test.

comment:14 Changed 6 years ago by Adrian Vasiliu

Besides being used for deciding about the background stripes, it is also used for instance like that:

.dj_ios6 .mblListItem {
  /* enables hardware acc. to avoid flickering issues - see #16956 */
  -webkit-perspective: 1000;
}

Which means that there is a need to test whether your proposed change wouldn't produce a regression on iOS 7. There might be other similar cases, hence my suggestion to revisit the occurrences of dj_ios6 in the theme.

Also, while the background stripes should clearly be restricted to iOS 6.x (since they go against the iOS 7 look), we also use dj_ios6 for deciding for instance about borders in mblHeading etc. In such cases, the question is whether reverting our ios theme to its iOS 5 behavior would make things worse or better on iOS 7.

Last edited 6 years ago by Adrian Vasiliu (previous) (diff)

comment:15 Changed 6 years ago by Sebastien Brunot

That's exactly the point of my first comment: dj_ios6 means that we are applying the ios6 theme when using the ios theme on iOS7. That might be disturbing for the user, but that is exactly what is happening...

So let's wait until we have a proper iOS7 theme to change anything, and close this issue.

Last edited 6 years ago by Sebastien Brunot (previous) (diff)

comment:16 Changed 6 years ago by cjolif

Cc: Patrick Ruzand dg added

Two (related) comments:

  • this class is positioned by uacss which its name is explicit about the fact it creates CSS classes for user agents (UA). Here we are not doing this we are creating a CSS class for a theme not to match a particular user agent. So the place where we do that is wrong.
  • this class is public and visible to anyone. So users wonder why they get dj_ios6 on ... ios7. Your explanation makes sense but this not obvious to the user. At the very least the doc of dojox/mobile/uacss should mention this.

I agree we can keep it like that in the code for now in particular as this could cause incompatibilities but we need:

  1. to update the doc
  2. to rethink about that for next versions

comment:17 Changed 6 years ago by Sebastien Brunot

Fair enough: I agree that the doc should have been updated the first time. We also have the option to change the name dj_ios6 in dj_modernios or something similar WITHOUT a version number in it (and we'll still have to update the doc) ?

Last edited 6 years ago by Sebastien Brunot (previous) (diff)

comment:18 Changed 6 years ago by Sebastien Brunot

I've created pull request https://github.com/dojo/dojox/pull/44 to fix the naming scheme.

comment:19 Changed 6 years ago by Adrian Vasiliu

See my comment in the discussion of the PR.

comment:20 Changed 6 years ago by Adrian Vasiliu <vasiliu@…>

Resolution: fixed
Status: reopenedclosed

In 916011ccb8164a091f97919ee8ce1f50212a4f56/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:21 Changed 6 years ago by Adrian Vasiliu <vasiliu@…>

In 0e556eeb78cbd71ea1c1a85a23d1ba39076e9477/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:22 Changed 6 years ago by Adrian Vasiliu

Milestone: 1.9.2
Note: See TracTickets for help on using tickets.