electron/brightray
Haojian Wu ee1f3acf7b Don't use anonymous namespace in header file.
Anonymous namespace should be forbidden in header files even for the
forward declarations:

* As declarations defined in anonymous namespace are internal linkage, each
translation unit which includes this header will get unique copy, which
wastes space.
* It is easy to violate C++ ODR rule.

Consider the following "foo.h":

```cpp
namespace { class Foo; }
class Bar {
  public:
    Foo* getFoo();
    Foo* foo;
}
```

If the 'foo.h' is included in multiple `.cc` files, the compiler will
put `Foo` into a different anonymous namespace in each `.cc`, which
means there are different definitions of `Foo` in the program (a
violation of the ODR).
2017-04-01 08:57:34 +02:00
..
browser Don't use anonymous namespace in header file. 2017-04-01 08:57:34 +02:00
common Format line length to 80 instead of 100 2017-03-23 15:47:30 -07:00
script Run cpplint on CI build 2017-03-23 10:08:25 -07:00
tools/mac Link with component build shared libraries 2015-04-02 14:05:43 +08:00
vendor Use cpplint from depot_tools 2017-03-23 10:08:25 -07:00
.clang-format Add .clang-format file 2017-03-23 10:08:25 -07:00
.gitattributes Ensure consistent line endings in all files 2013-05-16 09:15:05 -04:00
.gitignore Ignore a couple more files on Windows 2014-06-27 13:45:04 -04:00
.gitmodules Use cpplint from depot_tools 2017-03-23 10:08:25 -07:00
.travis.yml Build through Electron in cibuild and add Travis config 2017-01-12 11:37:52 -08:00
appveyor.yml Initialize submodules in appveyor build 2017-03-24 09:52:27 -07:00
brightray.gyp dont link libfxcrt.a on linux 2017-02-23 22:39:34 +05:30
brightray.gypi Add /LARGEADDRESSAWARE to linker options (Windows) 2016-10-05 18:32:24 +02:00
CPPLINT.cfg Format line length to 80 instead of 100 2017-03-23 15:47:30 -07:00
filename_rules.gypi Move filename rules to another file 2015-04-09 10:03:01 +08:00
filenames.gypi Persist zoom levels per partition 2017-02-10 22:54:32 +05:30
LICENSE Time goes on 2014-07-11 00:39:21 -07:00
LICENSE-CHROMIUM Initial commit 2013-03-13 15:31:24 -04:00
README.md Link to electron instead of brightray_example 2016-10-03 15:46:09 -07:00

Brightray

Brightray is a static library that makes libchromiumcontent easier to use in applications.

Using it in your app

See electron for example of an application written using Brightray.

Development

Prerequisites

  • Python 2.7
  • Linux:
    • Clang 3.0
  • Mac:
    • Xcode
  • Windows:
    • Visual Studio 2010 SP1

One-time setup

You must previously have built and uploaded libchromiumcontent using its script/upload script.

$ script/bootstrap http://base.url.com/used/by/script/upload

Building

$ script/build

Building Brightray on its own isnt all that interesting, since its just a static library. Building it into an application is the only way to test it.

License

In general, everything is covered by the LICENSE file. Some files specify at the top that they are covered by the LICENSE-CHROMIUM file instead.