Tag Archives: Chrome

Check Your Plugins!

It’s a safe bet that your web browser uses at least one plugin, and probably several. Maybe it’s just Flash for viewing animations and video (think YouTube and Hulu). Maybe it’s Silverlight for watching Netflix, or Shockwave for playing games. You’ve probably got Java installed.

Just like your web browser, these plugins must be kept up to date or you’ll run into problems: missing features, instability, or (worst case) security vulnerabilities. Unfortunately, most plugins don’t update themselves.

Several months ago, Mozilla introduced a service called Plugin Check that will identify the plugins you have installed and tell you whether they need to be updated — and how to do it. At first it only worked on Firefox, but now it’s been expanded to all major browsers: Chrome, Safari, Opera, and even Internet Explorer.

It’s worth taking a few moments to check. Think of it as a pit stop for your computer’s web browser.

Webkit display:table-cell Problem

I recently tried to retrofit a mobile layout onto an old table-based site using CSS. It was a fairly simple layout: A banner across the top, two columns, and a footer. I figured I’d use CSS to “unwrap” the table and make the sidebar and main content area into full-width sections instead of side-by-side columns.

In theory this should be simple: CSS handles tables by using the display property and assigning it table, table-row and table-cell for the <table>, <tr> and <td> elements. You can assign these properties to other elements and make them act as tables, or you can assign block or inline to these elements and make the table act like a series of paragraphs.

Initial testing worked perfectly in Firefox 3.6 and Opera 10.5x. Internet Explorer 8, as expected, ignored the changes entirely. Chrome, however, did something very strange, and Safari reacted the same way: The banner shrank, and the columns changed from a narrow sidebar to a 50/50 split…making it actually worse for small screens.

Clearly WebKit didn’t like something I was doing. Unfortunately, WebKit powers the exact platforms I was targeting: the iPhone and Android!

I dug around with the developer tools a bit to see if I could figure out what was going on. Was the browser not applying the property? Were the table cells inheriting the “original” property from somewhere else? Did I need to change properties on thead and tbody as well?

What I found was that WebKit did recognize the display:block I had added, but somehow the computed style was reverting to display:table-cell. This only applied to table and td, though. Table rows actually did what I told them to, which was why the result ended up looking bizarre.

If it hadn’t changed anything, I probably would have chalked it up to the capability just not being implemented yet. But since it worked on table rows, but not on cells, I decided to treat it as a bug in WebKit and went looking for the best way to report it. I ended up creating a WebKit Bugzilla account and reporting it as bug 38527.

Check out the testcase in Firefox 3.6 or Opera 10.5 to see what it should look like, then take a look in Chrome 4 or 5 or Safari 4.

Browse-o-Smart

After a week of playing with Chrome as my main browser, I’m back to Firefox. Chrome’s fast, but sometimes too much like Breathe-o-Smart.

Me: Why won’t you show me the full (relatively long) URL of this link?

Chrome: You won’t want to look at the full URL with Chrome!

Me: But what if I do?

Chrome: Trust me, you won’t. You’ll never need a URL again.

Me: But what if I need to look at it just this once?

Chrome: Well, I suppose you could actually follow the link. Or copy it and paste it into a text editor. If you really must have the URL. Not that you’d want to, of course.

Me: Why should I have to do that just to look at a URL? *headdesk*

Getting Flash to work on Google Chrome for 64-bit Linux

I tried out the Chrome beta for Linux on two different computers yesterday. On the first one, Flash worked right “out of the box.” On the second, it wouldn’t even show up in about:plugins. I couldn’t figure out what was different.

  • Both are 64-bit systems running Fedora 12.
  • Both are running the 32-bit version of Flash from Adobe’s yum repository.
  • Both are running the 64-bit version of Google Chrome from the beta download page.
  • I had run mozilla-plugin-config -i to create the 64-bit wrapper on both computers after updating Flash. (A security update came out yesterday.)
  • Flash works just fine in 64-bit Firefox and Opera.

I looked thoroughly at my home computer last night and came up empty. This morning I took another look at my work computer — the one where Flash actually showed up — and I think I’ve found it.

Chrome is using nswrapper_32_64.libflashplayer.so according to about:plugins. The actual file is in /usr/lib64/mozilla/plugins-wrapped/. This system has two symbolic links to that file, one in /usr/lib/mozilla/plugins/ and one in /usr/lib/mozilla/plugins-wrapped/. IIRC Only one of these was present on my home computer.

So I think this will fix it:

ln -s /usr/lib64/mozilla/plugins-wrapped/nswrapper_32_64.libflashplayer.so /usr/lib/mozilla/plugins/

Run the command as root or using sudo.

I’ll check back tonight and update this entry to show whether it worked.

Update: Yes, it worked!