Hiding Chrome bookmark text via extension - google-chrome

I'm trying to get a start in programming by writing a Chrome extension similar to the Smart Bookmarks Bar extension for Firefox. Java seems straightforward enough, and I can probably figure out the specifics of building an extension but I can't find out what commands I need to change the rendering of the bookmarks.
1)Does anyone know where I could find the relevant documentation?
2)Does anyone know of extensions that interact with bookmark rendering I could take a look at the source code of?

Everything you can do with the bookmarks is listed in the API:
http://code.google.com/chrome/extensions/dev/bookmarks.html
(and as someone said here on SO: java is related to javascript as a car is related to a carpet :] )

Related

What are Chrome apps vs plugins vs extensions and how to develop them

I am trying to understand about Chrome (browser) development. I am very new to this and trying to figure out where to start in order to develop for Chrome Browser.
Just have a couple of questions:
What is the difference between Chrome Browser apps vs. plugins vs. extensions (not sure, if this question make sense. But, hope you got what I am asking for)
What kind of applications can I develop for Chrome Browser
What technologies do I need to learn in order to develop for Chrome Browser.
To answer your first question this explains the differences between apps and extensions (I think there's no better way to explain their nature):
https://developers.google.com/chrome/web-store/articles/apps_vs_extensions
What do you mean with "what kind of apps"?
You can develop both hosted and packaged apps if is that what you intended, give a look at this:
https://developers.google.com/chrome/apps/docs/index
Anyway the easiest way to start would be by building an extension, how-tos and
good documentation makes it good to start with:
http://developer.chrome.com/extensions/getstarted.html
Just to add to the above answer which was missing difference between Plugin and Extension is:
Plugin is a third-party library that is plugged-in to the browser and allows for being embedded on a webpage. It affects only the web page that is using the plugin.
Extensions change the browser UI, add menus or change overall look of the browser and can process each page that gets loaded.
So to sum it up - plugins add functionality and extra features to a particular webpage while extensions add functionality and features to the whole browser and change the behavior of the browser.
Just to add on new information since people may continue to hit this question: Chrome has basically deprecated plugins as of March 2017 (Chrome 57). If you go to chrome://plugins now, you won't see anything (you used to see a list of installed plugins with enable-disable links like for extensions).
It seems the reasoning is that the only plugins they actually wanted to allow you to enable/disable are Flash and PDF Viewer, both of which were moved to the Settings menus (if they weren't already there, not sure). The rest are considered to be integral parts of the browser. https://www.ghacks.net/2017/01/29/google-removes-plugin-controls-from-chrome/
Makes things a bit simpler to think about now.

Chrome Extensions: Getting Content Scripts To Work

I am learning how to build simple extensions that use content scripts. To do so, I am tweaking existing sample extensions to get a lay of the land -- or at least that is the goal.
Problem is, none of the sample extensions that use content scripts seem to work for me. Two simple ones that should work but are not are: Email this Page, and SandwichBar (Direct link to zipped extension folder http://developer.chrome.com/extensions/examples/api/infobars/sandwichbar.zip ).
I am using Chrome 16.0.912.75 on a Linux box. Any ideas why this might be the case? Conflicting extensions or overriding flags? I would really appreciate any suggestions.
Thank You!
Sandwitch bar do not work because it uses info bar experimental API manifest version 2
Probably because you're using a really old version of Chrome (in internet years at least). They change the APIs from time to time, and probably something they've done in the interim has broken content scripts in Chrome 16 (for example the change from sendRequest to sendMessage). Isn't a more recent version of Chrome available for your platform?

Development of browser extension questions

I am looking to develop a cross browser extension (plugin) and am having troubles getting answers to a few questions. So just looking for some simple answers if what I would like to do is possible. Thanks. I am currently looking at using Crossrider but would use whatever.
How do some extensions add a menu to the right click button. For example, when I right click in Chrome I see Evernote Web Clipper and Adblock options in the dropdown). How do they do that?
Could I embed a youtube player, for example. So when it's closed the audio still plays but when clicked you can see the video and what not?
For sites like Grooveshark. Could they have a plugin that when clicked you could change the song or stop the music, etc. So basically communicate with a website in your tab from the plugin?
Thanks. I just found Crossrider and it looks like some may be possible but havn't explored it too in depth yet. Kind of wondering if anyone has tried doing these things and if possible.
Google has a specific API for adding context menus. You can read about it here. Just be sure to request permissions for context menus in the manifest.json file and then you can add everything else to your background JavaScript file.
I don't think it's exactly possible to embed a YouTube player into the extension directly. Google Chrome will not allow for running inline scripts, which are clearly required to run YouTube within a popup page (or anything else, for that matter).
As for your third question, you would have to check into the individual APIs for any sites that you want to run the extension with. Every site is going to be a little bit different and my first instinct is that most sites are not going to allow for directly adding their player to the extension.
I would strongly suggest checking out the information about developing Google Chrome extensions available on Google Code. They provide a great tutorial and reference for the basics of developing extensions.

Getting the web page content, similar to Readability as service

I'm looking for some facility for getting out clean HTML content for different pages (blog articles, magazines etc). The basic idea is how the 'Reader' in iOS Safary works.
This answer I can up that iOS Safary uses Readability for content parsing. Unfortunatelly the API does not include any methods for parsing, instead saving a bookmark and getting it's content, which does not suit me much.
Another answer here suggests to use https://www.readability.com/api/content/v1/parser but it does not work for me.
Any suggestions for similar services?
Have a look at Tranquility. It is a Firefox Add-on so you can look at the source. You can download the XPI and unpack it. Then look into content/tranquility.js and the related files in content/.

How can I cause Chrome to have focus and refresh a given page from outside of Chrome? In C#/.NET

How can I duplicate the functionality of this sublime script? The code itself says pretty much what I'd like to do:
tell application "Google Chrome" to tell the active tab of its first window
reload
end tell
tell application "Google Chrome" to activate
I'd like to do this without using some kind of testing framework/driver. Just to understand fundamentally what is going on behind this code. If it's too much work then I'll probably punt and use a Selenium Driver. I'm guessing that some library that Python has made this kind of thing trivial? And, of course, add a macro to Visual Studio/Emacs (or something) to produce the same effect.
Just send Ctrl-R to google chrome. There is one API for python here, and that should be enough. It should work, but it might get snagged somewhere else, just send a mouse click using the answer from this question. There really isn't any simple solution unless you have an api for chrome in particular. If you want that, there's a guide here.
It should not be too complicated, seems like a simple enough operation to merit its own place in the convenient parts of the API.