Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Google Businesses The Internet

Examining Chrome's Source Code 288

An anonymous reader writes "Chrome is open source, and there's clearly still some work to be done on it. In this article, Neil McAllister decided to take a peek under Chrome's hood and view it through the eyes of the developers who will improve and maintain it in the coming years. It seems Google's open source browser currently has much to offer prospective hackers — provided they use Windows. Quoting: 'The Chromium site explains how to download the source code for Linux, Mac OS X, or Windows. Unfortunately, if you're eagerly awaiting a Mac version of Chrome, you shouldn't hold your breath. As the Mac OS X area of the Chromium developer site explains, "Right now, the Mac build is a work in progress that is much closer to the start than the finish." In fact, according to the latest status report, the Chrome developers have yet to get even the browser core running under Mac OS X. Rendering actual Web pages is still a long way off, to say nothing of a usable Aqua GUI. Then again, the Linux version is in arguably even worse shape.'"
This discussion has been archived. No new comments can be posted.

Examining Chrome's Source Code

Comments Filter:
  • by pizzach ( 1011925 ) <pizzachNO@SPAMgmail.com> on Saturday September 13, 2008 @08:36AM (#24989545) Homepage
    Likely because they added some personal customizations to Webkit like HTML 5 tweaks/additions to Webkit. Also, if JavaScript is considered part of the core, that is likely a reason also. Chrome's implementation of JavaScript is totally different than the one used in Safari.
  • by Hal_Porter ( 817932 ) on Saturday September 13, 2008 @08:37AM (#24989551)

    Cross-platform widget sets are always dreadful. An application developed using cross-platform widgets will, at best, work well on one platform, and more usually on no platforms. OS X and Windows have different UI philosophies, and an OS X application needs a different UI from a Windows application.

    Yeah, I quite agree. Knocking out a Windows only GUI application is a hell of lot easier than a cross platform one.

  • Sandbox (Score:3, Informative)

    by lseltzer ( 311306 ) on Saturday September 13, 2008 @08:40AM (#24989561)

    The implementation of the sandbox in Windows is based on Windows-specific features. I suspect when they finally get it running on other platforms it will behave differenty with different levels of protection.

  • Re:Sandbox (Score:3, Informative)

    by lseltzer ( 311306 ) on Saturday September 13, 2008 @08:43AM (#24989575)

    Sorry I didn't put this into the parent.

    See this blog from Microsoft's Robert Hensing [technet.com] on how Chrome implements sandboxing on Windows and from whom at Microsoft they ripped off the idea.

  • Not open source! (Score:5, Informative)

    by emiraga ( 1359297 ) on Saturday September 13, 2008 @08:44AM (#24989579)
    There are parts of Google Chrome that are shipped closed source. For starters: GoogleUpdate and RLZ.DLL.
  • by Hal_Porter ( 817932 ) on Saturday September 13, 2008 @08:47AM (#24989593)

    I suppose it's good business sense to write software for the most popular platform. With around 75% [w3schools.com] of the OS hits being from Windows

    From your link
    http://www.w3schools.com/browsers/browsers_os.asp [w3schools.com]

    OS Platform Statistics

    Windows XP is the most popular operating system. The windows family counts for over 90%:

    2008.....WinXP...W2000...Win98...Vista...W2003...Linux..Mac
    August...73.9%...2.4%....0.2%....12.5%...1.9%....3.9%...4.9%

    Windows XP (73.9%) + Windows 2000 (2.4%) + Win98 (0.2%) + Windows 2003 (1.9%) + Vista (12.5%) = 90.9%

  • by FooBarWidget ( 556006 ) on Saturday September 13, 2008 @08:48AM (#24989599)

    "After all, it's not like all 3 platforms would be completely alien in the backend -- they are POSIX compliant."

    Uh, sorry? Since when is Windows POSIX compliant? Windows seems to be the only major modern OS in existence that's not POSIX compliant.

    I know that Windows provides some POSIX support, but it's broken and non-compliant in various ways. For example fork() is not supported.

  • by master5o1 ( 1068594 ) on Saturday September 13, 2008 @08:56AM (#24989645) Homepage
    Same could be said for linux -- Konqueror is [one of] the first KHTML/WebKit browser[s] and WebKit runs on Linux. That should say that Linux and Mac versions should almost at the same stage and closer to the first quarter of completion.

    Just because WebKit runs, doesn't mean that the browser won't.
  • by Haeleth ( 414428 ) on Saturday September 13, 2008 @09:15AM (#24989731) Journal

    Windows provides basic support for POSIX.1, but it's always been a second-class citizen and was only added to meet some US government requirement or other.

    There is also SFU, or whatever they're calling it these days, but IIRC that's never been easy to integrate with the Windows GUI, and isn't available for major OSes like XP Home anyway.

    To all intents and purposes, if you want to target Windows you either need to use a proprietary Microsoft API, or you need to use a compatibility layer or cross-platform library that translates to a proprietary Microsoft API; this last option is the one used by real cross-platform browsers like Firefox and Opera.

  • by chrysalis ( 50680 ) on Saturday September 13, 2008 @09:22AM (#24989777) Homepage

    Worse : Chrome (especially V8) is only designed to work on ARM and i386 (32 bits) architectures. Yes, no AMD64 support, and don't even think of other architectures yet.

    However, there is a lot of manpower behind the project and the developpers are very skilled. So this is not hopeless.

  • by evilNomad ( 807119 ) on Saturday September 13, 2008 @09:55AM (#24989959)

    It isn't designed just to work on those, they just haven't done others yet. When building a VM it is bad to start out having to support 10 different architectures as it requires you to test them all for every little change you do. It also requires that all developers know these architectures very well if they are to do proper changes.

    Besides V8 is probably the most portable thing there is in Chrome, it already works on Linux, OS X and Windows, and they provided two different architectures, making it much easier to do a 3rd and a 4th for anyone who should wish to do so.

    How do i know this? Because Lars Bak who leads the V8 team happens to be teaching my VM course, and a guy asked that specific question.

  • by pthisis ( 27352 ) on Saturday September 13, 2008 @10:00AM (#24989983) Homepage Journal

    I know that Windows provides some POSIX support, but it's broken and non-compliant in various ways. For example fork() is not supported.

    Not true.

    Microsoft Windows Internals, 4th. Ed (Russinovich & Solomon), p. 60:

    Because POSIX.1 compliance was a mandatory goal for Windows, the operating system was designed to ensure that the required base system support was present to allow for the implementation of a POSIX.1 subsystem (such as the fork function, which is implemented in the Windows executive, and the support for hard file links in the Windows file system).

    And to head off the next common incorrect belief, p.394:

    The POSIX subsystem takes advantage of copy-on-write to implement the fork function. Typically, when a UNIX application calls the fork function to create another process, the first thing that the new process does is call the exec function to reinitialize the address space with an executable program. Instead of copying the entire address space on fork, the new process shares the pages in the parent process by marking them copy-on-write.

    The POSIX subsystem blows for a host of reasons (you can't access most normal Win32 functionality, at least not easily), but it's got fork.

  • by TheRaven64 ( 641858 ) on Saturday September 13, 2008 @10:38AM (#24990301) Journal
    Have you ever used a Qt application on OS X? They stick out like a sore thumb. I think they've possibly fixed it in later versions, but until recently even trivial things like the keyboard shortcuts for skipping forwards and backwards one word in a text field were different from every other OS X application. The menus usually have a different structure, the preferences panels are typically horrendous, the services menu doesn't work correctly - they're so frustrating to use that they're typically not worth the bother.
  • by sznupi ( 719324 ) on Saturday September 13, 2008 @11:09AM (#24990529) Homepage

    In places where efficient sofware, perfectly useable on old computers is sometimes preferred

    http://www.en.ranking.com.ua/index.php?page=Ranks:RanksPage&stat=22 [ranking.com.ua]|OW (who'd have thought, more than Gecko...)
    http://www.en.ranking.lt/index.php?page=Ranks:RanksPage&stat=22 [ranking.lt]|OW
    http://www.en.ranking.pl/index.php?page=Ranks:RanksPage&stat=22 [ranking.pl]|OW
    http://www.en.rankings.cz/index.php?page=Ranks:RanksPage&stat=22 [rankings.cz]|OW
    (there are also stats for Hungary, where Opera performs similarly to "West"; though many people wouldn't consider Hungary to be in the same region, culturally at least; and I suspect culturall factors also play some role in spending habits/software choices; oh, and there's also Russia with Opera usage share comparable to Ukraine...though it's also a bit "out there" ;P )

    Anyway, most interesting thing from those stats for most of you, I imagine: yes, there are places where IE is on the brink of falling below 50%

    And personally I just think that it would be perfect if all four major layout engines end up each having roughly the same market share...

  • by TheRaven64 ( 641858 ) on Saturday September 13, 2008 @11:14AM (#24990577) Journal

    Do you mean to say that OS-X breaks convention by using non-standard keyboard shortcuts?

    In OS X, option-left and option-right skip one word to the left or right respectively. This has been the case since the first release of MacOS in 1984. Windows did not exist then, and there were no standards in early X11 toolkits (there still aren't - in 2005 I was using an X11 desktop and had four applications open with different shortcuts in text fields - gtk, tk, Qt and XUL were all doing things subtly differently). Windows standardised on control-left/right, because PCs didn't have an option key and alt was used for the menu (because PCs didn't have a meta key either). It's nothing to do with OS X 'innovating' and 'using non-standard shortcuts,' it's to do with Qt refusing to respect a core element of a user interface that has remained unchanged on a platform for 24 years.

  • by Chrono11901 ( 901948 ) on Saturday September 13, 2008 @11:40AM (#24990779)

    A decreasing percentage, as people move to 64bit and mac/linux increase market share.

    Last i checked chrome ran fine in vista 64.

    Right now its optimized for the 32bit market, that dose not mean it wont run on a 64 bit platform (even IE defaults to its 32bit version)

  • by cecom ( 698048 ) on Saturday September 13, 2008 @12:44PM (#24991267) Journal

    Let me clarify a common misconception. Windows is _NOT_ POSIX compliant for all practical intents and purpose for one simple reason: an application using the POSIX subsystem doesn't have access to the Win32 subsystem, making it completely useless.

    For example, you cannot use POSIX functions (fork, etc) and use Win32 GUI at the same time. Thus the need for solutions like Cygwin, which emulate POSIX with enormous performance cost.

    I hope this puts the Windows POSIX compatibility myth to rest forever and nobody on SlashDot will make it ever again :-)

  • by SiMac ( 409541 ) on Saturday September 13, 2008 @12:50PM (#24991315) Homepage

    There are some pretty benchmarks [mozillazine.org] on the Mozilla site that show what TraceMonkey is faster at and what it's not. What you have here is slow because TraceMonkey doesn't optimize recursion. This feature is scheduled to be implemented in Firefox 3.1b2, so the final version of 3.1 may indeed perform this benchmark faster than V8.

  • by SEE ( 7681 ) on Saturday September 13, 2008 @01:19PM (#24991587) Homepage

    It is easy to find a fork() for windows, or indeed posix threads, etc.

    In fact, Chrome/Chromium actually uses the Pthreads for win32 [google.com] library.

  • by davester666 ( 731373 ) on Saturday September 13, 2008 @04:48PM (#24993165) Journal

    Webkit doesn't include the UI layer. You need to write all the code to connect webkit to the UI to make what Webkit does visible to the user. You also need to write all the networking code to connect it to the internet. Webkit is just middleware...

  • Re:Not open source! (Score:2, Informative)

    by emiraga ( 1359297 ) on Sunday September 14, 2008 @03:21AM (#24996687)
    This might be wrong attitude. One solution is to download Google Chrome offline instalation http://www.winmatrix.com/forums/index.php?showtopic=19868 [winmatrix.com] and manually delete the RLZ.dll, yes you can delete RLZ.dll.

FORTRAN is not a flower but a weed -- it is hardy, occasionally blooms, and grows in every computer. -- A.J. Perlis

Working...