Code Monkey home page Code Monkey logo

libchromiumcontent's Introduction

libchromiumcontent's People

Contributors

ahmedmohamedali avatar ajmacd avatar alespergl avatar alexeykuzmin avatar anaisbetts avatar aroben avatar bbondy avatar brenca avatar cifratila avatar ckerr avatar clarkwang-2013 avatar clebeaupin avatar codebytere avatar deepak1556 avatar demian85 avatar enlight avatar gerhardberger avatar hokein avatar ilya-eder avatar kevinsawicki avatar marshallofsound avatar nitsakh avatar nornagon avatar piki avatar poiru avatar tarruda avatar tonyganch avatar torycl avatar zcbenz avatar zeke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libchromiumcontent's Issues

Optional cups

Is there a way to make cups optional? I don't have cups in my system and don't want it here any way.

WindowsError: [Error 216] This version of %1 is not compatible

Hi,
I was trying to build libchromiumcontent on my windows 7 32-bit Enterprise Edition. I have python 2.7 and Visual Studio 2013 Express installed.

When I tried update script, i got below error, please kindly help, thank you!

C:\xxx\libchromiumcontent>python script/update -t ia32
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
...........
Extracting...
Traceback (most recent call last):
  File "script/update", line 213, in <module>
    sys.exit(main())
  File "script/update", line 32, in main
    download_source_tarball(version)
  File "script/update", line 86, in download_source_tarball
    tar_xf(xz_name)
  File "script/update", line 96, in tar_xf
    subprocess.call([xz(), '-dqk', filename])
  File "C:\Python27\lib\subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 216] This version of %1 is not compatible with the version
of Windows you're running. Check your computer's system information to see wheth
er you need a x86 (32-bit) or x64 (64-bit) version of the program, and then cont
act the software publisher

Legal ramifications of using `proprietary_codecs`

I was wondering how the atom / electron team handle the legal issues regarding proprietary_codecs in chromium.

https://github.com/atom/libchromiumcontent/pull/69/files#diff-2544685f4860e4633fd5747ed88ec2caR6

As far as I am aware this flag tells chromium to build ffmpeg with support for things like H.264 and MP3 codecs. According to ffpmeg's own website the usage of this flag is a grey area at best and against patent laws at worst.

If a company decides to use electron to make a marketable product surely this flag being on by default leaves them open to potential legal issues due to codec licensing.

Can someone please confirm the legality around this flag in libchromiumcontent.

code modification & detailed documentation

I am working on building a code integrity checker for Electron apps but I am lost at sea trying to understand the code.

It would be really helpful if you could tell me how atom/browser/api/browser-window.js connects to the cpp code? and Which are the exact processes which start when the electron app is launched?

And

where can I find detailed documentation of the code in atom/ and chromium_src/ ?

Windows Vista support

Looking at atom-shell it seems (theoretically) to be able to run on Windows Vista (Extended support ends on 11 April 2017). There are two function exports, which Vista can't handle, namely RegisterTouchWindow and CloseTouchInputHandle, both in user32.dll.

These dependencies seem to stem from libchromiumcontent.
You can test it by looking at chromiumcontent.dll located at
atom-shell/vendor/brightray/vendor/download/libchromiumcontent/Release using the Dependency Walker.

I think it's just a matter of setting _WIN32_WINNT and WINVER to 0x0600 instead of 0x0602 in the corresponding .gypi file. Maybe brightray.gypi?

Chromium and Node.js are built to run on Vista. Is there anything that speaks against atom-shell being able to run on it, too? I'm fine with Atom to only support Win7+, but atom-shell is so versatile.

Thoughts?

CentOS error: cannot use typeid with -fno-rtti

Bootstrap is working after installing the dependencies mentioned in #52 , but script/build produces the following error

FAILED: c++ -MMD -MF obj/mojo/public/bindings/lib/mojo_bindings.connector.o.d -DCOMPONENT_BUILD -DSKIA_DLL -DACCESSIBILITY_IMPLEMENTATION -DANGLE_TRANSLATOR_IMPLEMENTATION -DAPP_LIST_IMPLEMENTATION -DAURA_IMPLEMENTATION -DBASE_I18N_IMPLEMENTATION -DBASE_IMPLEMENTATION -DBASE_PREFS_IMPLEMENTATION -DBLINK_COMMON_IMPLEMENTATION -DBLINK_IMPLEMENTATION -DBLINK_PLATFORM_IMPLEMENTATION -DBUILDING_V8_SHARED -DCC_IMPLEMENTATION -DCOMPOSITOR_IMPLEMENTATION -DCONTENT_IMPLEMENTATION -DCRYPTO_IMPLEMENTATION -DDISPLAY_IMPLEMENTATION -DEVENTS_BASE_IMPLEMENTATION -DEVENTS_IMPLEMENTATION -DGESTURE_DETECTION_IMPLEMENTATION -DGFX_IMPLEMENTATION -DGIN_IMPLEMENTATION -DGLES2_C_LIB_IMPLEMENTATION -DGLES2_IMPL_IMPLEMENTATION -DGLES2_UTILS_IMPLEMENTATION -DGL_IMPLEMENTATION -DGPU_IMPLEMENTATION -DHEAP_IMPLEMENTATION -DIPC_IMPLEMENTATION -DKEYBOARD_IMPLEMENTATION -DLIBPROTOBUF_EXPORTS -DLIBPROTOC_EXPORTS -DMEDIA_IMPLEMENTATION -DMESSAGE_CENTER_IMPLEMENTATION -DMOJO_COMMON_IMPLEMENTATION -DMOJO_ENVIRONMENT_IMPL_IMPLEMENTATION -DMOJO_GLES2_IMPLEMENTATION -DMOJO_GLES2_IMPL_IMPLEMENTATION -DMOJO_NATIVE_VIEWPORT_IMPLEMENTATION -DMOJO_SERVICE_MANAGER_IMPLEMENTATION -DMOJO_SYSTEM_IMPLEMENTATION -DMOJO_SYSTEM_IMPL_IMPLEMENTATION -DNATIVE_THEME_IMPLEMENTATION -DNET_IMPLEMENTATION -DOZONE_IMPLEMENTATION -DPPAPI_HOST_IMPLEMENTATION -DPPAPI_PROXY_IMPLEMENTATION -DPPAPI_SHARED_IMPLEMENTATION -DPPAPI_THUNK_IMPLEMENTATION -DPRINTING_IMPLEMENTATION -DSHELL_DIALOGS_IMPLEMENTATION -DSKIA_IMPLEMENTATION -DSNAPSHOT_IMPLEMENTATION -DSQL_IMPLEMENTATION -DSURFACE_IMPLEMENTATION -DUI_BASE_IMPLEMENTATION -DUI_IMPLEMENTATION -DURL_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION_EXCEPT_DATA -DU_NO_GLOBAL_NEW_DELETE -DU_UTF8_IMPL -DV2_IMPLEMENTATION -DV8_SHARED -DWEBKIT_BASE_IMPLEMENTATION -DWEBKIT_CHILD_IMPLEMENTATION -DWEBKIT_COMMON_IMPLEMENTATION -DWEBKIT_COMPOSITOR_BINDINGS_IMPLEMENTATION -DWEBKIT_EXTENSIONS_IMPLEMENTATION -DWEBKIT_GLUE_IMPLEMENTATION -DWEBKIT_GPU_IMPLEMENTATION -DWEBKIT_PLUGINS_IMPLEMENTATION -DWEBKIT_RENDERER_IMPLEMENTATION -DWEBKIT_STORAGE_BROWSER_IMPLEMENTATION -DWEBKIT_STORAGE_COMMON_IMPLEMENTATION -DWEBKIT_STORAGE_RENDERER_IMPLEMENTATION -DWEBKIT_USER_AGENT_IMPLEMENTATION -DWEBORIGIN_IMPLEMENTATION -DWTF_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_MOJO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DUSE_UDEV -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -I../.. -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -g -m64 -march=x86-64 -O0 -g -funwind-tables -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare  -c ../../mojo/public/bindings/lib/connector.cc -o obj/mojo/public/bindings/lib/mojo_bindings.connector.o
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/debug.h:126,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algobase.h:71,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/deque:61,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/queue:61,
                 from ../../mojo/public/bindings/lib/message_queue.h:8,
                 from ../../mojo/public/bindings/lib/connector.h:8,
                 from ../../mojo/public/bindings/lib/connector.cc:5:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(const __gnu_debug::_Safe_iterator<_Iterator, _Sequence>&, const char*, __gnu_debug::_Error_formatter::_Is_iterator)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:213: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:219: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(const _Type*&, const char*, __gnu_debug::_Error_formatter::_Is_iterator)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:242: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(_Type*&, const char*, __gnu_debug::_Error_formatter::_Is_iterator)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:255: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(const _Iterator&, const char*, __gnu_debug::_Error_formatter::_Is_iterator)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:268: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(const __gnu_debug::_Safe_sequence<_Sequence>&, const char*, __gnu_debug::_Error_formatter::_Is_sequence)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:284: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h: In constructor â__gnu_debug::_Error_formatter::_Parameter::_Parameter(const _Sequence&, const char*, __gnu_debug::_Error_formatter::_Is_sequence)â:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/debug/formatter.h:293: error: cannot use typeid with -fno-rtti
[28/10545] ACTION Generating about:credits
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "script/build", line 27, in <module>
    sys.exit(main())
  File "script/build", line 23, in main
    subprocess.check_call([NINJA, '-C', config_dir] + TARGETS)
  File "/usr/lib64/python2.6/subprocess.py", line 505, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/user/libchromiumcontent/vendor/depot_tools/ninja', '-C', 'vendor/chromium/src/out/Debug', 'chromiumcontent_all']' returned non-zero exit status 1

This appears on a whole bunch of files, this is just the last one.

Note CentOS ships with Python 2.6 so I'm not sure if this is running in to a 2.7 requirement issue (seems more like a compiler issue)

ArchLinux build error

ninja: Entering directory `vendor/chromium/src/out/Debug'
[12/10052] LINK chrome_sandbox
FAILED: cc -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -B/home/robo/github/libchrome/libchromiumcontent/vendor/chromium/src/third_party/gold -m64 -Wl,--icf=none -Wl,--gdb-index -o chrome_sandbox -Wl,--start-group obj/sandbox/linux/suid/chrome_sandbox.linux_util.o obj/sandbox/linux/suid/chrome_sandbox.process_util_linux.o obj/sandbox/linux/suid/chrome_sandbox.sandbox.o  -Wl,--end-group 
/home/robo/github/libchrome/libchromiumcontent/vendor/chromium/src/third_party/gold/gold64: -plugin: unknown option
/home/robo/github/libchrome/libchromiumcontent/vendor/chromium/src/third_party/gold/gold64: use the --help option for usage information
collect2: error: ld returned 1 exit status
[12/10052] CXX obj/third_party/protobuf/src/google/protobuf/stubs/protobuf_full_do_not_use.strutil.o
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "script/build", line 27, in <module>
    sys.exit(main())
  File "script/build", line 23, in main
    subprocess.check_call([NINJA, '-C', config_dir] + TARGETS)
  File "/usr/lib/python3.4/subprocess.py", line 561, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/robo/github/libchrome/libchromiumcontent/vendor/depot_tools/ninja', '-C', 'vendor/chromium/src/out/Debug', 'chromiumcontent_all']' returned non-zero exit status 1

`error: 8 enumeration values not handled in switch` when running `script/build -t x64`

I'm getting the following when trying to build libchromiumcontent with script/build -t x64 on OS X 10.11.1 with Xcode 7.0 (in case this matters).

../../net/cert/cert_database_mac.cc:104:11: error: 8 enumeration values not handled in switch: 'kSecLockEvent', 'kSecUnlockEvent', 'kSecAddEvent'... [-Werror,-Wswitch]
  switch (keychain_event) {
          ^

This seems to have been fixed in this chromium commit:
https://chromium.googlesource.com/chromium/src/+/32dc9ad4eccdb86943b100a2741d8591f712ab0c

script Update for arm failing continously

Hello,

I am trying to update the script in order to build for arm arch, but it is been failing at the update while downloading the tarball. below is the details log of the error

"Traceback (most recent call last):
File "script/update", line 227, in
sys.exit(main())
File "script/update", line 32, in main
download_source_tarball(version)
File "script/update", line 78, in download_source_tarball
chunk = u.read(1024*1024)
File "/usr/lib/python2.7/socket.py", line 380, in read
data = self._sock.recv(left)
File "/usr/lib/python2.7/httplib.py", line 567, in read
s = self.fp.read(amt)
File "/usr/lib/python2.7/socket.py", line 380, in read
data = self._sock.recv(left)
File "/usr/lib/python2.7/ssl.py", line 341, in recv
return self.read(buflen)
File "/usr/lib/python2.7/ssl.py", line 260, in read
return self._sslobj.read(len)
socket.error: [Errno 104] Connection reset by peer
"
I tried downloading the file and putting it in the folder, but it doesnt seem to work can anyone please help me on this.

Thanks

Compile and ship locales/[lang].pak

is it possible to build libchromiumcontent out of a regular chromium build ?

Hi,
i'm trying to answer that question - in debian, it would be nice to be able to have the chromium package build spit out that shared library in the process, so that brightray could (dynamically) link to a libchromiumcontent debian package built out of chromium.
It would avoid maintenance of several versions of chromium.
Thanks for any info.
Jérémy.

create-dist failing on Chrome 44 and 45

When building libchromiumcontent with Chrome 44 or 45 the following is not where the create-dist script thinks it should be

libchromiumcontent\\vendor\\chromium\\src\\out\\Release_x64\\obj\\components\\devtools_http_handler.lib'

Here is the full error but there are more files than just this one. Basically devtools_discovery.lib and
http_server.lib are also not where the create-dist script thinks they are. Now I can move them myself to the locations it's complaining about and get the dist to succeed but that is janky.

D:\build\libchromiumcontent>python script\create-dist
Traceback (most recent call last):
  File "script\create-dist", line 413, in <module>
    sys.exit(main())
  File "script\create-dist", line 182, in main
    copy_binaries(target_arch, component, output_dir)
  File "script\create-dist", line 204, in copy_binaries
    shutil.copy2(os.path.join(config_dir, binary), target_dir)
  File "C:\Python27\lib\shutil.py", line 130, in copy2
    copyfile(src, dst)
  File "C:\Python27\lib\shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'D:\\build\\libchromiumcontent\\ve
ndor\\chromium\\src\\out\\Release_x64\\obj\\components\\devtools_http_handler.li
b'

Cannot find python in depot_tools

script/bootstrap exits with this error:

'C:\Users***\Sources\libchromiumcontent\vendor\depot_tools\python' is not recognized as
an internal or external command, operable program or batch file.

Question: Hacking Chromium's drag-out behavior.

We have an app written for node-webkit 0.9.2 and are very much wanting to switch over to Electron! However, we hacked node-webkit's chromium in order to support a drag-and-drop requirement: we needed certain images, when dragged out of node-webkit, to resolve an arbitrary file path at runtime. An example: you drag an <img> from node-webkit to your desktop, and it copies a network file to your drop target.

About our hack: we hook into the dragstart via client javascript, and the chromium hack will do the needful when it encounters our prefix:

e.dataTransfer.setData( 'text/plain', 'MAGIC-PREFIX:' + someData );

My first question is: is there any way to do this without a chromium hack in Electron? I don't think so, but curious.

Second and more difficult question: It seems the chromium code has changed since our edits, specifically for Windows. We had previously modified content/browser/web_contents/web_contents_drag_win.cc which no longer exists. In fact, within content/browser/web_contents/ I am not seeing any _win-suffixed files.

The closest file that contains some relevant code matching our edited code is within web_contents_view_aura.cc. Does this seem relevant?

I really appreciate any information you have. Modifying Chromium isn't my daily fare, and I really appreciate any expert advice on this.

Mac OS X 10.10.2 - script/update fail

Hi,

I was trying to build libchromiumcontent in Yosmite 10.10.2, but failed at script/update step, below are the message, please advise, thanks!

script/update -t x64
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Extracting...
Traceback (most recent call last):
  File "script/update", line 213, in <module>
    sys.exit(main())
  File "script/update", line 32, in main
    download_source_tarball(version)
  File "script/update", line 86, in download_source_tarball
    tar_xf(xz_name)
  File "script/update", line 98, in tar_xf
    tar = tarfile.open(tar_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 1660, in open
    return func(name, "r", fileobj, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 1722, in gzopen
    fileobj = bltn_open(name, mode + "b")
IOError: [Errno 2] No such file or directory: 'chromium-41.0.2272.76.tar'

Library build instructions fail

Building the latest tagged version (v45.0.2454.85) on Ubuntu 14.04-x86_64, following the README.md instructions to build fails with the following:

./script/build -t x64
ninja: Entering directory `vendor/chromium/src/out/Release'
ninja: fatal: chdir to 'vendor/chromium/src/out/Release' - No such file or directory
Traceback (most recent call last):
File "./script/build", line 45, in
sys.exit(main())
File "./script/build", line 33, in main
subprocess.check_call([NINJA, '-C', config_dir] + TARGETS)
File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/todd/Projects/electron/libchromiumcontent/vendor/depot_tools/ninja', '-C', 'vendor/chromium/src/out/Release', 'chromiumcontent_all']' returned non-zero exit status 1

The only issue in the previous step was that it complained about xscrnsaver, which does not appear in apt-cache search xscrnsaver on the platform. The complaint is this:

No package 'xscrnsaver' found
gyp: Call to 'pkg-config --cflags xscrnsaver' returned exit status 1 while in build/linux/system.gyp.

Otherwise it appears to complete successfully. I would not expect this to cause the build script to fail at the step above.

re-running script/bootstrap after failure in src/third_party/binutils/download.py appears to succeed

[...]
________ running 'download_from_google_storage --no_resume --platform=win32 --no_auth --bucket chromium-clang-format -s src/third_party/clang_format/bin/win/clang-format.exe.sha1' in '/home/user/libchromiumcontent/vendor/chromium'
________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s src/third_party/clang_format/bin/mac/clang-format.sha1' in '/home/user/libchromiumcontent/vendor/chromium'
________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-clang-format -s src/third_party/clang_format/bin/linux/clang-format.sha1' in '/home/user/libchromiumcontent/vendor/chromium'
________ running '/usr/bin/python src/third_party/binutils/download.py' in '/home/user/libchromiumcontent/vendor/chromium'
Traceback (most recent call last):
  File "src/third_party/binutils/download.py", line 118, in <module>
    sys.exit(main(sys.argv))
  File "src/third_party/binutils/download.py", line 104, in main
    arch = GetArch()
  File "src/third_party/binutils/download.py", line 51, in GetArch
    return subprocess.check_output(['python', DETECT_HOST_ARCH]).strip()
AttributeError: 'module' object has no attribute 'check_output'
Error: Command /usr/bin/python src/third_party/binutils/download.py returned non-zero exit status 1 in /home/user/libchromiumcontent/vendor/chromium

$ script/bootstrap
Synchronizing submodule url for 'vendor/python-patch'
________ running 'svn update /home/user/libchromiumcontent/vendor/chromium/36.0.1985.125 --non-interactive --accept postpone --ignore-externals' in '/home/user/libchromiumcontent/vendor/chromium'
Updating '36.0.1985.125':
At revision 286312.
Syncing projects: 100% (98/98), done.                                                               
Updating projects from gyp files...
Running build/landmines.py...

My system has Python 2.6 which I believe is likely the source of the error, (as from what I can tell subprocess.check_output() was introduced in 2.7), but if I re-run the command (without a git clean) it doesn't appear to have an error (rather than running up against the same error).

Maybe this error is non-fatal, maybe it isn't, but the scripts seem like they should make that clearer.

proper way to make changes to src files

I am trying to make custom build but I have to changes to some chromium src files. I see the patches folder at figures its done by patches. I cannot figure out the right way to make patches though.

Dependency instructions in README file

Hi,
I'm trying to build libchromiumcontent in a docker centos7, I had a sad work try-fail build to detect/install all dependencies.
I think it can be so ease for others users if you add this instruction to read me file:

yum install -y pciutils-devel git tar gcc pkg-config atk-devel pulseaudio-libs-devel gdk-devel gdk-pixbuf2-devel gdk-pixbuf2 pygtk2-devel libXtst-devel libXScrnSaver-devel dbus-devel GConf2-devel libgnome-keyring-devel libexif-devel gperf 

After it I was able to build.

No debug symbols are available for prebuilt libchromiumcontent

create-dist used to create a zip file that contained debug symbols. This made it possible to step through Chromium code in a debugger when using a prebuilt version of libchromiumcontent. It looks like the symbols zip got removed in #98. It'd be great to bring it back.

Build fail on yosemite

building on master 7a34617, it fails :

../../content/common/gpu/media/vt_video_decode_accelerator.cc:321:42: error: use of undeclared identifier 'GL_TEXTURE_RECTANGLE_ARB'

This is my first attempt dabbling with libchromium.
I did : script/bootstrap; script/build

Not yet attempted to compile from a release.

Linux video acceleration support behind a flag

Would it be possible for atom-shell to bypass existing protections in chromium preventing hardware video decode on intel chipset with linux? The idea would be to implement this chromium ticket Issue 176883018: Remove additional protection of kDisableAcceleratedVideoDecode in bpf_gpu_policy_linux.cc. that has been closed for the sake of stability.

That would be a great addition for linux app builders out there.

Some more context: Video Acceleration Takes The Backseat On Chrome For Linux

Related atom-shell issue: electron/electron#1032

xz binaries are x64

Please reupdate xz binaries to x86. They are x64 now, and they stop build on Windows 7 x86.
UPD. I will try to make a PR.
UPD2. Binaries from PR will seem untrusted for you to merge. Yes? So i give up.

Compilation fails on Windows with ffmpeg_branding set to ChromeOS

In order to get FLAC support in my Electron application, I'm trying to build a custom libchromiumcontent on Windows with ffmpeg_branding set to ChromeOS.

libchromium content build succeeds with default chromiumcontent.gypi, but I get the above error from yasm with the flag changed.

λ python script\build -t x64
ninja: Entering directory `vendor\chromium\src\out\Release_x64'
[3/2681] RULE Compile assembly libavcodec\x86\me_cmp.asm
FAILED: C:\Python27\python.exe gyp-win-tool action-wrapper environment.x64 ffmpeg_yasm_target_assemble_09ab246a
61f84f7fef6ac74dbf1e639a.284cd41d40aea3f56ebc2f880c951615.rsp ..\..\third_party\ffmpeg
yasm: FATAL: unable to open include file `config.asm'
[3/2681] RULE Compile assembly libavcodec\x86\blockdsp.asm
FAILED: C:\Python27\python.exe gyp-win-tool action-wrapper environment.x64 ffmpeg_yasm_target_assemble_09ab246a
61f84f7fef6ac74dbf1e639a.c83b91ed1e5657c043d593d8065f1f31.rsp ..\..\third_party\ffmpeg
yasm: FATAL: unable to open include file `config.asm'
[3/2681] RULE Compile assembly libavcodec\x86\h264_qpel_10bit.asm
FAILED: C:\Python27\python.exe gyp-win-tool action-wrapper environment.x64 ffmpeg_yasm_target_assemble_09ab246a
61f84f7fef6ac74dbf1e639a.09327066372c7d95c4f55f2e64192b80.rsp ..\..\third_party\ffmpeg
yasm: FATAL: unable to open include file `config.asm'
ninja: build stopped: subcommand failed.

Is there something I'm missing with yasm, or a way to generate the missing config.asm files ?

Broken aspect ratio for Netflix

electron v0.36.3 introduced the support for the Widevine CDM plugin, which makes Netflix works inside Electron.

However, Chrome 47 (the initial release) shipped with a major bug that makes Netflix videos have a broken ratio (see screenshot).

Chromium pushed a fix pretty quickly but it's not in libchromiumcontent.

Here is the chromium patch and the extremely small diff.

Would it be possible to backport that fix into libchromiumcontent and include it in the next electron release? (on my side, the sooner the better).

Also, tell me and I would happily create a PR for this.

Thanks!

is there any plan to publish pre-build library

Hello, I'm very interested in this project, I tried to build this library couple of times with no luck.

My last try on a Mac stopped as my hard disk space ran out (didn't realize how big it is).

Even if the build succeeded, I would need document to understand how to use the library.

So I was wondering if there's plan to publish pre-build library, which includes library, linking library, header files, documentation?

Thanks!

chromiumcontent.dll size is very small after building on windows

Hi

I need to port my CEF based application and use libchromiumcontent instead of CEF.

I tried to build libchromiumcontent in windows. Everything worked fine with no error but size of chromiumcontent.dll is very small !
(79 KB in out\Release_x64 and 21 KB in out_component\Release_x64)

Also , there is a content.dll (32 MB) alongside with the rest of chromium dlls in out_component\Release_x64 but not in out\Release_x64

I tried several times with both 41.0.2272.76 and 42.0.2311.107 (Debug and Release , 32 and 64) , master and atom branch of libchromiumcontent..

How can I build an standalone chromiumcontent.dll same as the one that is distributed with Atom editor?

Getting the libchromiumcontent more compact in releases.

merge
chromiumcontent.dll
msvcp120.dll msvcr120.dll vccorlib120.dll
xinput1_3.dll
into chromiumcontent.dll

merge ffmpegsumo.dll msvcp120.dll msvcr120.dll
into ffmpegsumo.dll

merge content_resources_200_percent.pak
content_shell.pak
ui_resources_200_percent.pak
natives_blob.bin
snapshot_blob.bin
into chromiumcontent.pack

Add Chromium license file?

Would it be possible to include the license information of third party libraries used by chromium in this repo? There seems to be a python command [1] to generate the license information.

The rationale is that for VS Code when we consume Electron we need to include the full license information of Chromium and its third party libraries. Currently this is a very manual process for us and ideally this is just provided through libchromiumcontent.

[1] https://src.chromium.org/svn/trunk/src/tools/licenses.py

Error while bootstrapping

The following occurs on my maschine when I try to prepare the build

Error: Command svn checkout https://cld2.googlecode.com/svn/trunk@84 /Users/Ingwie/Work/brightray/vendor/libchromiumcontent/vendor/chromium/src/third_party/cld_2/src --revision 84 --non-interactive --force --ignore-externals returned non-zero exit status 1 in /Users/Ingwie/Work/brightray/vendor/libchromiumcontent/vendor/chromium
Traceback (most recent call last):
  File "./script/bootstrap", line 27, in <module>
    sys.exit(main())
  File "./script/bootstrap", line 23, in main
    subprocess.check_call([sys.executable, update])
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 542, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '/Users/Ingwie/Work/brightray/vendor/libchromiumcontent/script/update']' returned non-zero exit status 1

Any help on here?

libchromiumcontent/Electron is licensed incorrectly, current build is GPL

The current build process of electron builds a custom version of chromium through the module libchromiumcontent. This is all very well but there is a single flag inside this build process found here that turns your build of chromium into GPL licensed code.

That flag builds ffmpeg with a whole load of additional codecs which are licensed under GPL. An example of such a codec is H.264. It has been confirmed that libchromiumcontent builds this codec in this issue and confirmed that it is GPL licensed on ffmpeg's site. This codec is just one example of a GPL component included in the ffpmeg build libchromiumcontent generates.

Problem

Electron is currently licensed under the MIT License which is against the terms of GPL. In lamens terms, anything that uses GPL licensed software must also be GPL licensed. This is a MASSIVE issue for many companies that use electron to ship commercial grade applications. It means that any application they ship can be claimed to have to be GPL and they MUST release their source code.

Further evidence of the GPL nature of this build style is found in the nw.js documentation here.

Solution

We would like to request that you ship non-GPL versions of the prebuilt electron packages and update your licenses / README to reflect the fact that some packages use GPL licensed software.

We have attached a PR here (#179) to help fix this issue. This PR basically moves the change in this commit to an environment variable so you can easily turn on / off the GPL version.

Include library dependencies in README.md

Attempting to build on a CentOS system and I had to run the following to get bootstrap to run.

sudo yum install pciutils-devel cups-devel libudev-devel

Didn't see these in the README.md, so might be nice to mention.

El Capitan build error

ehh...
I tried to build libchromiumcontent but it failed to build with following errors.
anybody can help?

$ ./script/build
ninja: Entering directory `vendor/chromium/src/out/Release'
[979/12451] OBJCXX obj/base/mac/base.mac_util.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/mac/base.mac_util.o.d -DU_COMBINED_IMPLEMENTATION -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT= -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=0 -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=247874-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DBASE_IMPLEMENTATION -DSYSTEM_NATIVE_UTF8 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I../.. -isysroot /Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.8 -arch x86_64 -Wno-deprecated-declarations -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-bitfield-width -Wexit-time-destructors -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /Volumes/coffee/projects/libchromiumcontent/vendor/chromium/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing -Wobjc-missing-property-synthesis -fobjc-call-cxx-cdtors  -c ../../base/mac/mac_util.mm -o obj/base/mac/base.mac_util.o
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:499:3: error: redefinition of enumerator 'NSPressureBehaviorUnknown'
  NSPressureBehaviorUnknown = -1,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:187:5: note: previous definition is here
    NSPressureBehaviorUnknown = -1,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:500:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDefault'
  NSPressureBehaviorPrimaryDefault = 0,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:190:5: note: previous definition is here
    NSPressureBehaviorPrimaryDefault = 0,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:501:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryClick'
  NSPressureBehaviorPrimaryClick = 1,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:198:5: note: previous definition is here
    NSPressureBehaviorPrimaryClick = 1,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:502:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryGeneric'
  NSPressureBehaviorPrimaryGeneric = 2,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:206:5: note: previous definition is here
    NSPressureBehaviorPrimaryGeneric = 2,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:503:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryAccelerator'
  NSPressureBehaviorPrimaryAccelerator = 3,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:214:5: note: previous definition is here
    NSPressureBehaviorPrimaryAccelerator = 3,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:504:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDeepClick'
  NSPressureBehaviorPrimaryDeepClick = 5,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:222:5: note: previous definition is here
    NSPressureBehaviorPrimaryDeepClick = 5,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:505:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDeepDrag'
  NSPressureBehaviorPrimaryDeepDrag = 6
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:230:5: note: previous definition is here
    NSPressureBehaviorPrimaryDeepDrag = 6,
    ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:498:1: error: declaration does not declare anything [-Werror,-Wmissing-declarations]
enum {
^
../../base/mac/sdk_forward_declarations.h:507:19: error: typedef redefinition with different types ('NSInteger' (aka 'long') vs 'NSPressureBehavior')
typedef NSInteger NSPressureBehavior;
                  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:186:28: note: previous definition is here
typedef NS_ENUM(NSInteger, NSPressureBehavior) {
                           ^
In file included from ../../base/mac/mac_util.mm:23:
../../base/mac/sdk_forward_declarations.h:509:1: error: duplicate interface definition for class 'NSPressureConfiguration'
@interface NSPressureConfiguration : NSObject
^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressureConfiguration.h:16:12: note: previous definition is here
@interface NSPressureConfiguration : NSObject {
           ^
10 errors generated.
[979/12451] OBJCXX obj/base/mac/base.sdk_forward_declarations.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/mac/base.sdk_forward_declarations.o.d -DU_COMBINED_IMPLEMENTATION -DUNISTR_FROM_CHAR_EXPLICIT= -DUNISTR_FROM_STRING_EXPLICIT= -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=0 -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=247874-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DBASE_IMPLEMENTATION -DSYSTEM_NATIVE_UTF8 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I../.. -isysroot /Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.8 -arch x86_64 -Wno-deprecated-declarations -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-bitfield-width -Wexit-time-destructors -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /Volumes/coffee/projects/libchromiumcontent/vendor/chromium/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing -Wobjc-missing-property-synthesis -fobjc-call-cxx-cdtors  -c ../../base/mac/sdk_forward_declarations.mm -o obj/base/mac/base.sdk_forward_declarations.o
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:499:3: error: redefinition of enumerator 'NSPressureBehaviorUnknown'
  NSPressureBehaviorUnknown = -1,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:187:5: note: previous definition is here
    NSPressureBehaviorUnknown = -1,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:500:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDefault'
  NSPressureBehaviorPrimaryDefault = 0,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:190:5: note: previous definition is here
    NSPressureBehaviorPrimaryDefault = 0,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:501:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryClick'
  NSPressureBehaviorPrimaryClick = 1,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:198:5: note: previous definition is here
    NSPressureBehaviorPrimaryClick = 1,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:502:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryGeneric'
  NSPressureBehaviorPrimaryGeneric = 2,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:206:5: note: previous definition is here
    NSPressureBehaviorPrimaryGeneric = 2,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:503:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryAccelerator'
  NSPressureBehaviorPrimaryAccelerator = 3,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:214:5: note: previous definition is here
    NSPressureBehaviorPrimaryAccelerator = 3,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:504:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDeepClick'
  NSPressureBehaviorPrimaryDeepClick = 5,
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:222:5: note: previous definition is here
    NSPressureBehaviorPrimaryDeepClick = 5,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:505:3: error: redefinition of enumerator 'NSPressureBehaviorPrimaryDeepDrag'
  NSPressureBehaviorPrimaryDeepDrag = 6
  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:230:5: note: previous definition is here
    NSPressureBehaviorPrimaryDeepDrag = 6,
    ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:498:1: error: declaration does not declare anything [-Werror,-Wmissing-declarations]
enum {
^
../../base/mac/sdk_forward_declarations.h:507:19: error: typedef redefinition with different types ('NSInteger' (aka 'long') vs 'NSPressureBehavior')
typedef NSInteger NSPressureBehavior;
                  ^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:186:28: note: previous definition is here
typedef NS_ENUM(NSInteger, NSPressureBehavior) {
                           ^
In file included from ../../base/mac/sdk_forward_declarations.mm:5:
../../base/mac/sdk_forward_declarations.h:509:1: error: duplicate interface definition for class 'NSPressureConfiguration'
@interface NSPressureConfiguration : NSObject
^
/Applications/Developers/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPressureConfiguration.h:16:12: note: previous definition is here
@interface NSPressureConfiguration : NSObject {
           ^
10 errors generated.
[979/12451] OBJCXX obj/base/mac/base.scoped_sending_event.o
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "./script/build", line 45, in <module>
    sys.exit(main())
  File "./script/build", line 33, in main
    subprocess.check_call([NINJA, '-C', config_dir] + TARGETS)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/Volumes/coffee/projects/libchromiumcontent/vendor/depot_tools/ninja', '-C', 'vendor/chromium/src/out/Release', 'chromiumcontent_all']' returned non-zero exit status 1

WebRTC / libsrtp appears to use insecure random number generation

I have an app using atom-shell that offers video chat using OpenTok, which in turn uses WebRTC.

When I use the video chat function, I see a warning appear on the command-line:

WARNING: no real random source present!

AFAICT, this warning is coming from the libsrtp dependency built into Chromium. There is a file in libsrtp (https://chromium.googlesource.com/chromium/deps/libsrtp/+/master/srtp/crypto/rng/rand_source.c) that is supposed to be compiled with either -DDEV_URANDOM (Unix) or -DHAVE_RAND_S (Windows). If compiled with neither, it prints the warning and generates random numbers using plain, insecure rand().

I ran strings on atom-shell's libchromiumcontent.so, and I saw the same "no real random source present" message, so I suspect that brightray is compiling the libsrtp file incorrectly, and (presumably) it's weakening WebRTC security.

Remove setTimeout and setInterval Throttle

electron/electron#1786

I have this patch file but I don't know how to make a pull request on this project.

chromium/src/third_party/WebKit/Source/core/frame/DOMTimer.cpp

--- DOMTimer.cpp    2015-05-30 17:52:54.000000000 +0545
+++ DOMTimer2.cpp   2015-05-30 17:52:46.000000000 +0545
@@ -54,9 +54,8 @@

 double DOMTimer::hiddenPageAlignmentInterval()
 {
-    // Timers on hidden pages are aligned so that they fire once per
-    // second at most.
-    return 1.0;
+    //Do not throttle hidden pages
+    return 0;
 }

 double DOMTimer::visiblePageAlignmentInterval()

Building under GBK ANSI on win7 failed.

[30/2657] CXX obj\chrome\test\chromedriver\chrome\automation_client_lib.mobile_device_list.obj
FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @o
bj\chrome\test\chromedriver\chrome\automation_client_lib.mobile_device_list.obj.rsp /c ....\chrome\test\chromedriver\chrome\mobile_device_list.cc /Fo
obj\chrome\test\chromedriver\chrome\automation_client_lib.mobile_device_list.obj /Fdobj\chrome\automation_client_lib.cc.pdb
c:\ci-cor\atom\libchromiumcontent\vendor\chromium\src\chrome\test\chromedriver\chrome\mobile_device_list.cc(134) : error C2017: illegal escape sequenc
e
c:\ci-cor\atom\libchromiumcontent\vendor\chromium\src\chrome\test\chromedriver\chrome\mobile_device_list.cc(134) : error C2059: syntax error : 'string
'
c:\ci-cor\atom\libchromiumcontent\vendor\chromium\src\chrome\test\chromedriver\chrome\mobile_device_list.cc(138) : error C2017: illegal escape sequenc
e
[30/2657] CXX obj\third_party\webrtc\voice_engine\voice_engine.channel_manager.obj

make it cups independent (prebuilt lib)

Is there a way to make it cups independent?

I'm using Gentoo Linux x86_64, that currently don't have a package for libchromiumcontent. I install atom editor with the prebuild libchromiumcontent (yes, Linux build) but that depends on cups (yes, Common Unix Printing System) and forces me to install the net-print/cups, but I really no use this.

All other packages on my system uses the cups library as an optional dependency, but libchromiumcontent don't work without cups.

There is no way to make it optional, as the other programs?

Clang libc6 version dependency

compiling libchromiumcontent from source is listed as a way to compile other projects on Debian Wheezy that use it. The issue is Debian 7 stable uses libc6 2.13, when projects like Atom.io package libchromiumcontent .so as a build dependency (:confounded:) which is compiled against libc6 2.14. So I clone this repo, and it now ALSO requires libc6 2.14:

../../third_party/llvm-build/Release+Asserts/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ../../third_party/llvm-build/Release+Asserts/bin/clang)
../../third_party/llvm-build/Release+Asserts/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by ../../third_party/llvm-build/Release+Asserts/bin/clang)
../../third_party/llvm-build/Release+Asserts/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/nmartinssd/Projects/libchromiumcontent/vendor/chromium/src/third_party/llvm-build/Release+Asserts/bin/../lib/libstdc++.so.6)
ninja: build stopped: subcommand failed.

Is this intentional? it seems clang which is packaged with libchromiumcontent now also requires libc6 2.14 or higher

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.