Embed basic WebKit + V8 in my app - webkit

I want a very basic HTML/CSS/JS renderer embedded in my app using WebKit and preferably V8. All I need is to always render one page and possibly make network and local requests (load JSON/msgpack). I don't need prefetch, tabs, omnibox, profiles and other chromium features, but from what I see looking at CEF is that it embeds a full featured chromium. Are there any other solutions?

Related

Does Microsoft UI Automation Framework work with Chrome, Python and Java Apps?

I am working on an automation project, in which I need to capture the activities [ application launched, data entered, input type etc.] user performs on a desktop. I came across Microsoft UI Automation framework which so far works well for native windows based applications like MS Office, .NET apps etc. However I did not find any useful information / samples of capturing the information from different web browsers [Chrome is a must], Python apps, Java Apps etc. Can someone please confirm whether MS UI Automation Framework supports such apps. Any working example to extract user activities from these apps would be highly appreciated. Thanks.
Chrome only supports UI Automation for toolbars, tabs, menu, buttons around the web page. Everything that's rendered as a web page is not seen by UIA.
For the web page content, the easiest way is to use Selenium (driven by the ChromeDriver), which is kind of a de facto standard for browsers, and has nothing to do with UIA.
To test if an app supports UIA, and how far it does, it's very easy, just run UIA's Inspect tool and check the UI tree over that application.
Some additions to Simon's answer...
Chrome page content can be seen by UIA if you run chrome --force-renderer-accessibility. Only for existing Chrome process it won't work. Though user can create a new tab chrome://accessibility manually and enable UIA for all or some chosen pages. This method also works for AT-SPI accessibility technology on Linux. Of course, Selenium WebDriver is an industry standard here. But another way exists. Both Mozilla and IE support UIA by default.
Inspect.exe can be simply downloaded from this GitHub repo.
Regarding Java apps it depends on the app type. Your chances is about 50/50.
WxPython or PyQt5 are good for UIA. TkInter or Kivy apps are not.
P.S. There is an example how to drag a file from explorer.exe and drop to Google Drive in Chrome using Python library pywinauto.
I'm a bit late to the party..
But Chromes accessibility features are only activated once something tries to access it's accessibility.
If you call AccessibleObjectFromWindow ([DllImport("oleacc.dll")]) with the window handle an existing chrome window will have its accessibility activated (and you'll see the actual web page content in UIA!).
If the chrome window is opened after your app is running - Chrome pings open processes for any open accessibility apps... for that you use AccessibleObjectFromEvent and the event you're responding to comes from the windows pipeline: EVENT_SYSTEM_ALERT = 0x0002 .
The bottom line is - you have to tell chrome that there's something installed that wants to access it's web page content.
Oh! and your application has to be signed!! Unsigned apps won't be able to access web content - I think that's the same in firefox too.
I hope this helps someone in the future.
See:
https://www.chromium.org/developers/design-documents/accessibility

WL.SimpleDialog change background color

I wanted to change the default black color of WL.SimpleDialog.show in IBM worklight to red and other colors with specifying color codes, is there a way to achieve this, if not can any one share the links to customize a loading dialog in IBM WL.
Thanks
djrecker
Worklight does not provide the ability to customize the background used for WL.SimpleDialog.
What you can do, is create a dialog of your own, where you will then have complete control over it.
You could find some library online that creates such a dialog via JavaScript, for example jQuery Mobile, or
You could find/implement it via native code. If you choose to implement it via native code, you will need to do so via a Cordova plug-in for Worklight.
For those building an application for the Mobile Web, Desktop Web Browser or BlackBerry 6/7 environments, these environments use a "web busy indicator", essentially implemented via JavaScript, CSS and HTML. Its colors (and design, really) can be altered by over-writing its CSS IDs. You can use Chrome Dev Tools to debug, modify, experiment with, etc...
The IDs are (in Worklight 6.1 the source is in .wlapp\ ... \ worklight\worklight.css):
#WLdialogContainer, #WLdialogOverlay, #WLdialog, #WLdialogTitle, #WLdialogBody, #WLdialog button

Mozila Firefox add on for viewing bootstrap application as in mobile

I am Creating an MVC Application using twitter bootstrap 3. Now I need to test the responsive feature in a mobile . I know there is some add on available in Mozilla that allows us to have the same experience as in mobile through desktop, have anyone of you heard of such add on?
You could use the user-agent switcher addon.
However mobile device emulation is one of the point where the Chrome devtools are more feature rich than Firefox/Firebug.
In Chrome, you go to devtools configuration and in the Overrides tab check 'Show emulation view in console drawer'. Then back in devtools click on the show console icon, and finally go to the emulation tab. It let you choose a device, resolution and emulate touch events with the mouse.
Ctrl-Shift-M (Responsive mode) is built into Firefox and will let you work with any size of mobile screen resolution and simulate touch events with the mouse.
There are no presets for specific phones (although you can add new size presets if you want) and you won't be able to spot all differences because you'll always be rendering with Gecko. For increased accuracy you'd have to use a tool that at least emulates different rendering engines. Browserstack can be good for that but in my experience it is tediously slow.
If you are doing user agent detection then an addon to manipulate that might be useful but presumably if you're going for a responsive design you will be more concerned with media query behaviours than hacky user agent tricks.

How to make dojo work offline

I have a project that loads http://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js, I want to be able use this project offline
I tried to download dojo.xd.js and link to it locally but this still doesn't work offline
In firebug, on the net tab I can see that there are a lot more .js files that load
Is there a simple way of making this work offline?
The way of integration depends on your way of using it.
I assume you have webserver running locally (without inet access)?!
At the dojo website there are several ways of dojo integration available. Just download one of them (do not use CDN) and put the file on your local web server. Then it is available through the local url (can be relative to your site).
If you wan't to build an "offline" app without a webserver then take a look at Adobe AIR and interation of the dojo toolkit with Dojo Extensions for Adobe AIR.
Another option might be the integration together with PhoneGap or Cordova to build an offline App, e.g. for an IPhone etc. with HTML/Javascript. Win8/RT Applications for the M$ AppStore does support HTML/Javascript, too (have not tested this with Dojo).
Keep in mind there are also some security restrictions (e.g. loading and execution of JavaScript) if you plan to "release" your app as simple html file (click to open in browser).

How to upload a photo image using Sencha Touch without phonegap

Is it possible to upload an image created by the phone using Sencha Touch but without any dependency on PhoneGap? Basically my app will be accessible via the web, and not installed natively on the device. I want to be able to select an image from the phone storage and then be able to upload it to the service. I effectively want the same functionality as you would get with the file upload control on a normal desktop browser.
Is this possible, and if so how?
There is a current solution in its infancy, but it works. I tested it on my Nexus 7 using Chrome. Here is the list of compatibility:
Android (4.0 up) browser support as regular
Google Chrome for desktop and mobile
iOS Safari browser support from version 6.0 (not tested on mobile)
https://github.com/kostysh/File-uploading-component-for-Sencha-Touch
Desktop webbrowser and mobile browser are different in lot many cases. To access file upload option you need to access the OS API which is not possible using javascript only. Phonegap provides us option to connect js with device API. If you can find a way to do this, without using Phonegap, then may be you can fix, or else its not possible.