Not exactly - the "1" matches the revision number specified in the
metadata in the class declarations. Eg,

--- qt/quick/api/oxideqquickwebcontext_p.h      2014-10-09 20:22:21 +0000
+++ qt/quick/api/oxideqquickwebcontext_p.h      2014-11-05 00:22:04 +0000
@@ -60,9 +60,9 @@
 
   Q_PROPERTY(OxideQQuickCookieManager* cookieManager READ cookieManager 
CONSTANT)
 
-  Q_PROPERTY(QStringList hostMappingRules READ hostMappingRules WRITE 
setHostMappingRules NOTIFY hostMappingRulesChanged)
+  Q_PROPERTY(QStringList hostMappingRules READ hostMappingRules WRITE 
setHostMappingRules NOTIFY hostMappingRulesChanged REVISION 1)
 
-  Q_PROPERTY(QStringList allowedExtraUrlSchemes READ allowedExtraUrlSchemes 
WRITE setAllowedExtraUrlSchemes NOTIFY allowedExtraUrlSchemesChanged)
+  Q_PROPERTY(QStringList allowedExtraUrlSchemes READ allowedExtraUrlSchemes 
WRITE setAllowedExtraUrlSchemes NOTIFY allowedExtraUrlSchemesChanged REVISION 1)
 
   Q_ENUMS(CookiePolicy)
   Q_ENUMS(SessionCookieMode)
@@ -164,8 +164,8 @@
   void devtoolsEnabledChanged();
   void devtoolsPortChanged();
   void devtoolsBindIpChanged();
-  void hostMappingRulesChanged();
-  void allowedExtraUrlSchemesChanged();
+  Q_REVISION(1) void hostMappingRulesChanged();
+  Q_REVISION(1) void allowedExtraUrlSchemesChanged();
 
  private:
   Q_PRIVATE_SLOT(d_func(), void userScriptUpdated());

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtdeclarative-opensource-
src in Ubuntu.
https://bugs.launchpad.net/bugs/1389721

Title:
  API versioning broken in some cases

Status in “qtdeclarative-opensource-src” package in Ubuntu:
  New

Bug description:
  With Oxide 1.2 being the version that's shipping in the RTM image, I
  want to start correctly versioning new API's so that we can upgrade
  Oxide OTA safely without breaking existing applications. I'm testing
  the attached patch for Oxide to add a revision to API's that were
  added in 1.3, but running the test suite results in the following
  failure:

  Output:
  ----------------------------------------------------------
  
file:///home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11:11:
 ".allowedExtraUrlSchemes" is not available due to component versioning.
         context.allowedExtraUrlSchemes: [ "test", "bar" ]
                 ^
  ********* Start testing of qml-core-test *********
  Config: Using QtTest library 5.3.0, Qt 5.3.0
  QWARN  : qml-core-test::tst_CustomURLSchemes::compile()
    /home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml 
produced 1 error(s):
      
/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11,11:
 ".allowedExtraUrlSchemes" is not available due to component versioning.
    Working directory: /home/chr1s/src/oxide/oxide/objdir/qt/tests/qmltests
    View: QQuickView, import paths:
      '/home/chr1s/src/oxide/oxide/objdir/out/bin'
      '/home/chr1s/src/oxide/oxide/objdir/out/imports'
      '/usr/lib/x86_64-linux-gnu/qt5/qml'
    Plugin paths:
      '.'

  FAIL!  : qml-core-test::tst_CustomURLSchemes::compile() 
".allowedExtraUrlSchemes" is not available due to component versioning.
     Loc: 
[/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml(11)]

  After scratching my head for a while, I can't see what I'm doing wrong
  here.

  If I run the following simple QML app, I can access the property
  correctly:

  - test.qml:

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  WebView {
    focus: true
    width: 960
    height: 540

    url: "https://www.google.com";

    context: WebContext {
      allowedExtraUrlSchemes: []
    }
  }

  However, if I run this simple app instead, then it fails with the same
  message I see in the unit tests:

  - test.qml:

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  TestWebView {
    focus: true
    width: 960
    height: 540

    url: "https://www.google.com";

    context.allowedExtraUrlSchemes: []
  }

  - TestWebView.qml

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  WebView {
    context: WebContext {}
  }

  This last example works fine without a revision number on this API.

  I consider this to be a blocker for being able to update Oxide OTA, as
  we're not able to version new API's with this bug

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1389721/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to