This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new a9fd3b6  getClassStyle: add throwError
a9fd3b6 is described below

commit a9fd3b65f1b474dfd333b37d9f8c149b18e5418c
Author: Carlos Rovira <[email protected]>
AuthorDate: Sat Jul 18 11:43:36 2020 +0200

    getClassStyle: add throwError
---
 .../org/apache/royale/utils/html/getClassStyle.as  | 50 +++++++++++++---------
 1 file changed, 29 insertions(+), 21 deletions(-)

diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/html/getClassStyle.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/html/getClassStyle.as
index 41bffb9..2d4aead 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/html/getClassStyle.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/html/getClassStyle.as
@@ -18,6 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.utils.html
 {
+       import org.apache.royale.debugging.throwError;
+
        /**
         * Get an Object with all styles in a CSS className.
         * classname must match exactly the selector used in the CSS
@@ -30,28 +32,34 @@ package org.apache.royale.utils.html
        COMPILE::JS
        public function getClassStyle(className:String):Object
        {
-               var cssText:String = "";
-               var classes:Array = document.styleSheets[0].rules || 
document.styleSheets[0].cssRules;
-               for (var x:int = 0; x < classes.length; x++) {        
-                       if (classes[x].selectorText == className) {
-                               cssText += classes[x].cssText || 
classes[x].style.cssText;
-                       }         
-               }
-               
-               // remove all text in css and left just the content between "{" 
"}"
-               var array:Array = cssText.match(/\{ (.*?)\}/);
-               // then split all styles
-               array = array[1].split("; ");
-               //remove latest since is empty
-               array.pop();
-               
-               //create the return object and split each style in property and 
value and insert in object
                var o:Object = {};
-        for (x = 0; x < array.length; x++) {
-            var prop:Array = array[x].split(": ");
-            o[prop[0]] = prop[1];
-        }
-               
+               try
+               {
+                       var cssText:String = "";
+                       var classes:Array = document.styleSheets[0].rules || 
document.styleSheets[0].cssRules;
+                       for (var x:int = 0; x < classes.length; x++) {        
+                               if (classes[x].selectorText == className) {
+                                       cssText += classes[x].cssText || 
classes[x].style.cssText;
+                               }         
+                       }
+                       
+                       // remove all text in css and left just the content 
between "{" "}"
+                       var array:Array = cssText.match(/\{ (.*?)\}/);
+                       // then split all styles
+                       array = array[1].split("; ");
+                       //remove latest since is empty
+                       array.pop();
+                       
+                       //create the return object and split each style in 
property and value and insert in object
+                       for (x = 0; x < array.length; x++) {
+                               var prop:Array = array[x].split(": ");
+                               o[prop[0]] = prop[1];
+                       }
+               }
+               catch (error:Error)
+               {
+                       trace("Due to CORS restrictions im Chrome when working 
offline you need to use: chrome --allow-file-access-from-files, or use other 
browser");
+               }
                return o;
        }
 }

Reply via email to