* 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.
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).
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).
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.
- 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.
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.
- 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.
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).
- 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.
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.)
* We could also check to make sure it isn't 0xffff and
bail if it is... not really a solution but helps
prevent kdl's if our mapped memory is corrupted.
* That seems like more of a hack though, i'd like to
solve the real problem.
* Open the window a bit bigger so the scroll bar in the "Notifications"
view isn't activated.
* Make the window horizontally resizable.
* Sentence casing
This was hardcoded to pipe A on my laptop, but it's better to set both
pipes so it work in more cases.
Eventually I should see why my SandyBridge laptop is failing to move its
LVDS panel to pipe B...
This fixes miqlas Thinpad X200s and possibly some other machines. Thanks
for letting me experiment with the hardware!
Some libraries buildsystems (eg. zlib) somehow prevent the symbol from
being exported. We should fix that, but binaries with missing symbols
are already out there, so we need to handle them in any case.
* Seems more common to have > 16 USB ports on xHCI
hubs (18 on my XPS 13 root hub)
* This fixes 'hub supports more ports than we do' error
* The FreeBSD USB driver works a lot like ours and
sets the maximum USB ports on a hub to 255
* Doesn't solve #12885 but fixes one of the errors
The format for the .comment string changed at some point, and this
fallback code would always fail for files built only with "new" versions
of gcc.
Also consider gcc 5 to be ABI version 4, since it is still compatible
with the old ABI (and provides a new one side by side).
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
for infos on GCC ABI changes in GCC 5.
I've no idea why this was what "save image" did, but apparently it's
done so since this code was imported into the trunk in the very first
commit. Now it saves PNGs, which is what users expect.
Fixes#5011.
Qt Creator now has a "generic project" mode, in which it just acts
as an auto-completing code editor. I tried using it on the entire
Haiku project at once, but it's just too much for Qt Creator to handle.
So instead, I created a script which generates project files for
any given directory in the tree, as well as sets up the proper include
directories. The project files themselves are .gitignore'd; use the script
to create them.
Works on Haiku. Did not test on Linux with a crosstools setup; but
it should work there too.
This however doesn't help with the 64bit float operations that
gcc emits when assigning the physical framebuffer address in kernel_args,
which is a packed struct...