
var SpeeddialContext = function() {
  
  this.properties = {};
  
  global.opr.speeddial.get(function(speeddialProperties) {
    this.properties.url = speeddialProperties.url;
    this.properties.title = speeddialProperties.title;
    
    // Set WinTabs feature to LOADED
    deferredComponentsLoadStatus['SPEEDDIAL_LOADED'] = true;
  }.bind(this));

};

SpeeddialContext.prototype.constructor = SpeeddialContext;

SpeeddialContext.prototype.__defineGetter__('url', function() {
  return this.properties.url || "";
}); // read

SpeeddialContext.prototype.__defineSetter__('url', function(val) {
  
  global.opr.speeddial.update({ 'url': val }, function(speeddialProperties) {
    this.properties.url = speeddialProperties.url;
  }.bind(this));

}); // write

SpeeddialContext.prototype.__defineGetter__('title', function() {
  return this.properties.title || "";
}); // read

SpeeddialContext.prototype.__defineSetter__('title', function(val) {
  
  global.opr.speeddial.update({ 'title': val }, function(speeddialProperties) {
    this.properties.title = speeddialProperties.title;
  }.bind(this));

}); // write

@@ -585,32 +585,64 @@
 ction(val) %7B%0A  %0A
+  this.properties.url = val;%0A  %0A
   global.opr.spe
@@ -684,96 +684,12 @@
 ion(
-speeddialProperties) %7B%0A    this.properties.url = speeddialProperties.url;%0A  %7D.bind(this)
+) %7B%7D
 );%0A%0A
@@ -887,24 +887,58 @@
 n(val) %7B%0A  %0A
+  this.properties.title = val;%0A  %0A
   global.opr
@@ -986,100 +986,12 @@
 ion(
-speeddialProperties) %7B%0A    this.properties.title = speeddialProperties.title;%0A  %7D.bind(this)
+) %7B%7D
 );%0A%0A

Update Speed Dial API implementation to set attributes independent of Chromium call to update attributes.