Commit Graph

56520 Commits

Author SHA1 Message Date
Adrien Destugues
5bc7366fca Web+: missing NULL check in bookmark bar show/hide management. 2016-11-06 10:52:47 +01:00
Adrien Destugues
a02a1bb4e6 Some improbements to the bookmark bar
- Resolve symlinks to bookmarks so we display the icons for those
- Adjust the minimal height of the bar to make space for icons (if you
  use a tiny font size)
- Do not allow the bookmark bar to show when it is empty
2016-11-06 09:56:45 +01:00
Adrien Destugues
156b6cd596 BMediaFile: fix destruction order.
The fSource can point to a source with code inside a media plug-in (in
particular, the HTTP source from the http_streamer plugin). However,
deleting the extractor can cause the plugin to become "unreferenced" and
unloaded. If we try to call code to delete the source later, we find
that the code is already unloaded, and the app crashes.

This happens in Web+ when navigating away from Youtube or otherwise
interrupting a video while it is being played.

Fixes the crashing part of #13058.
2016-11-05 21:18:39 +01:00
Adrien Destugues
f4db7fdc68 BUrl: allow URLs without protocol or authority again.
Parsing an URL can never fail. The regexp is designed to match any
input. In the worst case, everything will end up in the "path"
component. WebPositive relies on this to generate file URLs from a plain
path.

URLs without a protocol are also possible, and can be used with an
implicit protocol. A typical example is network shares sometimes noted in
"//host.domain/path/file" form.

Add tests for these two cases and fix the parser to behave as expected.
2016-11-05 13:01:36 +01:00
Adrien Destugues
a9af524dbb BPrintJob test: build fix. But the app crashes. 2016-11-05 13:01:36 +01:00
autonielx
d1212a874e Update translations from Pootle 2016-11-05 07:34:12 +01:00
François Revol
8a6724a0ee makefile-engine: use grep -a for RDEF parsing
ThemeManager has an UTF-8 copyright symbol in its rdef file.
The chroot set up by haikuporter doesn't export anything that would
hint grep to accept UTF-8 as text, so it freaks out...
So we force it to accept anything as text.
2016-11-05 00:55:53 +01:00
Rene Gollent
bdac77bf2e ram_disk: FIx x86-64 build. 2016-11-03 23:21:04 -04:00
Rene Gollent
d8d6cf9658 x86_64: Update haikuwebkit to 1.5.3. 2016-11-03 23:04:30 -04:00
Rene Gollent
b72a28a268 x86: Update haikuwebkit to 1.5.3. 2016-11-03 21:49:08 -04:00
Adrien Destugues
96fef5d19f ramdisk: implement trim and icon, add to image
- B_TRIM_DEVICE on a ram disk frees all requested pages. Reading from a
  trimmed page returns all 0s. This can be used with fstrim to release
  memory for the parts not used by the filesystem, without unregistering
  then registering the device.
- Add icon and ioctl to get it.
- Add it to the image, because it works reasonably well and there is no
  reason not to include it.
2016-11-03 22:58:31 +01:00
Humdinger
b96788c95d Add telus.net providerinfo to Jamfile
Forgot that when adding the telus.net.rdef in hrev50649. Oops.
2016-11-03 19:51:42 +01:00
Jérôme Duval
ecfaa77a23 Terminal: Implement a few cursor CSI commands.
* Cursor back tab, cursor forward tab.
* Cursor next line, cursor previous line.
* also add size 13 to the list of font sizes.
2016-11-03 16:51:26 +01:00
Adrien Destugues
fe8f306c49 WebPositive: fix search with URL-encoded pattern.
The search URL for goodsearch is:
http://www.goodsearch.com/search-web?utf8=%E2%9C%93&button=&keywords=%s

It contains % characters (not too unusual for URLs with url-encoding).
We can't give it to SetToFormat safely. Use ReplaceAll instead, so that
only the %s is replaced.
2016-11-03 14:38:01 +01:00
Adrien Destugues
b7bc818b0e style fix. 2016-11-03 14:38:01 +01:00
Adrien Destugues
34f42c6f3e BeDecorator: actually put it inside the package. 2016-11-03 14:38:01 +01:00
Humdinger
c9275bf517 Fix loading of MIDI SoundFonts with spaces in filename 2016-11-03 10:45:09 +01:00
Humdinger
7bfcf5d585 Update Sequitur package to v2.1.3
Thanks to Pete Goodeve for patiently providing help and feedback wrt
the package layout and esp. for his device definitions for the Roland GS
and Yamaha XG.
2016-11-03 08:09:08 +01:00
Automatic Committer
e435cf58c7 Update pci.ids from pciids.sourceforge.net 2016-11-03 05:20:15 +01:00
Jérôme Duval
2085048ea9 Terminal: insert space on tab only at the end of the line. 2016-11-02 22:04:00 +01:00
Adrien Destugues
1674f60dae Implement uninitialization for GPT
This makes it possible to format a GPT drive back to MBR without too
much effort.

Fixes #8823.
2016-11-02 21:57:16 +01:00
Adrien Destugues
5c65d2f5d1 Properly add the BeDecorator to the image
Put it inside the Haiku package.
2016-11-02 21:57:16 +01:00
Dario Casalinuovo
ce8fd10683 MediaPlayer: Emulate duration attribute for BUrl playlists
* Make the Playlist window working again by caching
the duration value.
2016-11-02 19:42:34 +01:00
Humdinger
1649750c5d Fixed telus.net ProviderInfo
I apparently managed to bungle entering the supplied data...
Typical off-by-one error... :)
2016-11-02 18:47:45 +01:00
Adrien Destugues
070c8b72c7 CodyCam: fix layout
BTextView in non editable mode does strange things. Do not use the same
view for error display and for showing the video. We can force the video
to have the right size, and the error will show nicely centered.
2016-11-02 18:30:01 +01:00
Alexander von Gluck IV
c6bd5d1ea5 xhci: Use 64-bit pci addresses when requested
* My skylake requests 64-bit addressing.. so I think
  Intel might start leveraging this soon.
* Hopefully won't break any builds, might have to wrap
  that << 32 shift if phys_addr_t is 32-bits anywhere.
2016-11-02 10:08:05 -05:00
Adrien Destugues
12431ebff4 listusb: dump video streams from UVC devices. 2016-11-02 15:26:04 +01:00
Adrien Destugues
e64640878a listusb: parse UVC devices
- Various cleanups to the USB-audio side, which is similar
- Add in the UVC (USB Video) specific info with parsing of some of the
  descriptors (most of the "control" part).
2016-11-02 15:26:04 +01:00
Adrien Destugues
56f749a63f listusb: split out USB audio dumping to own file.
The code to dump audio descriptors is now twice as long as the other
parts of the listusb code. Move it to its own file for clarity.
2016-11-02 15:26:04 +01:00
Adrien Destugues
5abeb2b498 HaikuWebKit 1.5.3.
Fixes several crashes and other issues.
There may be regressions. Please test and report.
2016-11-02 14:48:01 +01:00
Humdinger
c0ef51aab5 Adding ProviderInfo for telus.net
Add the email provider info for Canadian email provider telus.
Also corrected typo in ReadMe.
Thank you, Vidrep!
2016-11-01 19:41:06 +01:00
Adrien Destugues
b32f51ce49 elf.h: add ELFMAG* constants
Needed by libelf, when elf.h exists.
2016-11-01 10:30:54 +01:00
Jérôme Duval
7e9b90f7e4 Midi: use fluidlite as fluidsynth replacement.
* SF3 support.
2016-11-01 08:50:03 +01:00
Jérôme Duval
33e68be479 Update libroot stubs. 2016-11-01 08:44:04 +01:00
Dario Casalinuovo
8023d6bafd PluginManager: Move reference counting in the MediaPlugin
* Ideally we should support this feature by default to allow
future improvements to the plugins management.
* Fixes the major memory corruption that lead to various
crashes on exit in MediaPlayer.
2016-10-31 23:39:32 +01:00
Dario Casalinuovo
42a3f9477d PluginManger: Remove BReferenceable and add locking 2016-10-31 23:39:32 +01:00
Adrien Destugues
ed31589c37 URL Disaptching/Async listeners: forward debug messages
This makes it possible for the Asynchronous listener to get the
messages. It can then process them in a more fancy way.

The default implementation will still log the messages to the console
(if debug is enabled), but it will do so from the Async listener for
asynchronous requests now. This means they will probably be logged from
the same thread, and show up in a more readable way.

This also makes it possible to listen to several requests and log them
in a nice way (in a status window or whatever).
2016-10-31 22:14:39 +01:00
Adrien Destugues
ed6d3d88c1 SecureSocket: add code to trace SSL events.
Under a #define TRACE_SSL, should you need it.

Also load error strings when initializing the SSL context, so we get
human readable errors from SSL (also in the ser reported ones).
2016-10-31 22:12:50 +01:00
Adrien Destugues
a9665fc66a HttpRequest: use data from the input buffer first
The HttpRequest protocol loop is designed using an input buffer storing
data from the socket. At each loop, we try to parse some of the data,
and then read more from the socket.

However, in some cases (in particular with chunks, which we parse only
one at a time in a loop iteration), we may not use all the data from the
buffer. Eventually, we will be left with an "empty" socket (nothing to
read from there) but the request not completed because there is still
data in the input buffer.

In that case, we would hang waiting for a read on the socket, instead of
processing data from the input buffer.

Change the code to read from the socket only if a loop iteration did not
manage to read anything from the input buffer. This means the input
buffer is too small for the next thing to process (it contains less than
one line of data, for example), and in that case we can safely read from
the socket without being blocked.

This should fix several cases where the network code was stuck doing
nothing, including https://my.justenergy.com/ reported in #13010.
2016-10-31 22:00:40 +01:00
Adrien Destugues
af7d48fe5b style fix. 2016-10-31 19:30:49 +01:00
Adrien Destugues
b2fa4e171d HTTP media IO: fix another case of crash. 2016-10-31 19:27:51 +01:00
Adrien Destugues
98e33bf69a HTTPMediaIO: fix crash on exit.
- Remove custom BUrlContext, use the shared one to simplify ownership
  management. This means all HTTP media streams in an application share
  the same context (including cookies), however.
- Fix deletion of the BUrlRequest object, which cannot reliably happen
  before the thread has exited. RequestCompleted is too early.
2016-10-31 18:12:20 +01:00
Humdinger
05574d9b2f Tracker: Fixed alert button label for renaming of home folder
Fixed copy&paste error for button label of renaming action.
2016-10-31 10:09:49 +01:00
Jérôme Duval
7af63063bb media/ffmpeg: skips libswr, and interleaves samples for planar audio.
* workaround for #12720.
2016-10-31 09:47:50 +01:00
Adrien Destugues
905ee3fb8f WebPositive: do not change URL while user is editing it
If you edit the URL while a page is loading, the URL could be changed
from the page load process, losing your edits.

We now check and update the URL only if the URL bar is currently not
focused, so it is possible to edit the URL safely.
2016-10-31 09:22:35 +01:00
Andrew Lindesay
cf65729463 Url: implement same URL parsing logic in C/C++ code
- Remove uses of group matching regular expression, not available on all
  build hosts,
- Parsing is faster than our old regexp engine.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

- Fixes #13002
- Fixed some indentation (tabs vs space), please configure your editor
  properly.
2016-10-31 09:14:44 +01:00
Adrien Destugues
f004acb098 HttpDate: fix parsing of 2-digit year dates.
Fixes #13043.
Added the affected cookies to the testsuite to avoid future regressions.
2016-10-31 08:59:23 +01:00
Adrien Destugues
a5b5f89612 http_streamer: don't access headers before HeadersReceived.
UpdateSize uses HttpResult::Length, which relies on the
contetn-length header to be already received from the server. Doing it
in ConnectionOpened will not work. Doing it from HeadersReceived, which
is called a bit later, will work.

This allows using the http_streamer in webkit for youtube video playing,
and should fix all uses with a fixed size resource (rather than an
endless stream).
2016-10-30 23:53:00 +01:00
Adrien Destugues
cec123b4de More fixes to the cookie parser.
- Fix parsing of strings shorter than 24 bytes (which can only happen if
  the year has only 3 digits, or the day in month, hour, minute or
  seconds have only 1).
- Only allow the GMT and UTC timezone specifiers, as all HTTP dates
  should use the GMT zone (but still use a format that allows specifying
  a timezone name).

All cookie tests are now passing.
2016-10-30 20:23:43 +01:00
Adrien Destugues
b5c858aa75 strptime: allow dates before 1900.
While struct tm makes things more confusing than they need to be,
nothing in the API prevents handling those. So let's just accept them.

Fixes some strange cases in the cookie test suite (with a cookie set to
expire in year 101 B.C.)
2016-10-30 20:23:43 +01:00