Commit Graph

43038 Commits

Author SHA1 Message Date
stippi
e25584f3c5 Wrap main thread in try-catch-block, in order to get a stack trace next time
we hit that recursive init exception.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@273 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
572a465779 Fixed header guards, thanks Ryan!
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@271 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
b943093b1b Preload the browsing history after application start. This avoids the delay
when beginning to type something in the URL text field and the autocompletion
invoked the BrowsingHistory for the first time.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@270 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
0cf34b77b1 Ok, the most simplistic way to avoid having too many similars in the autocompletion
choices is to find the "base url" (I am taking the string between :// and the
next /) and avoid adding any more urls with the same base URL. Seems to work
reasonably well. If anyone has any smarter ideas, please speak up! :-)

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@269 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
1a52acbc07 Wired everything and improved the TextControlCompleter behavior a bit with
regards to eating the B_RETURN key before we can dispatch in BrowserWindow. So
autocompletion for URLs basically works. What's missing is:

* Much better grouping of matches.
* Fix the delay when the BrowsingHistory is first accessed (lazy loads itself
  from disk just then, ought to do it in the application thread after startup,
  which probably makes it unnoticable before the user starts typing a URL).

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@268 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
fd5768c40d Imported Beam auto completion framework, converted license to MIT (with
permission from Oliver) and applied Haiku coding style. The base classes have
been named such that they could become official Haiku API in the future.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@266 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:42 +02:00
stippi
39274de5a3 Double clicking beside the tabs opens a new tab.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@264 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:48 +02:00
stippi
ea77068a8e Added shortcuts Cmd-Left/Right for going back/forward.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@263 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:48 +02:00
stippi
85fc02b33d Use 18x18 as standard icon size, as it seems more common. Position the icon
slightly more pleasing.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@261 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:48 +02:00
stippi
6063974734 Finished all the wiring necessary for favicon support. Send the
NAVIGATION_REQUESTED notification again from the FrameLoaderClient, this way
we can try to fetch the icon even earlier.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@259 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:48 +02:00
stippi
10d5754b92 Added BWebSettings and BPrivate::WebSettingsPrivate. Added all the wiring
necessary. The only usable effect as of yet is that favicons arrive at the
BrowserWindow. Favicons are stored in a database and are not fetched when they
alreary exist. The application is expected to try and fetch an icon for a given
url. This is currently done in BWebWindow when the URL for loading has been
initiated. Otherwise it fetches the URL upon the new ICON_RECEIVED notification
from the FrameLoaderClientHaiku. In any case it ends up at BWebWindow::IconReceived(),
so derived classes don't have to worry about the difference. In any case, via
BWebSettings, icons can also be fetched manually, like for the forthcomming
autocompletion text control.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@257 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:48 +02:00
stippi
ddb431ba21 Made the integrated menu bar a build time configuration feature. I don't like
it so much, since it somehow looks alien for no /really/ good reason. Maybe
I'll integrate this option into the settings, when I get to those.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@253 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
leavengood
08d60e5886 Shortcut Alt-0 selects the 10th tab (index 9.)
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@250 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
leavengood
e64e6d933a Add shortcuts for using Alt-[1-9] to select that tab.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@249 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
stippi
e6809b325a Experimental integration of the main menu into the tab bar. Please tell me what
you think, I am not 100% it's nicer than before. Can be easily reverted in any
case.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@248 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
stippi
e335cb654c Missing break in switch, but harmless in this case.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@245 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
stippi
0d3093e5d8 Implemented a neat new window management feature: When the app is asked to
open a new file or url, check if there is already a window open on the current
workspace, and if so, open a new tab in that window and bring it to front.
ArgReceived() now reuses RefsReceived(), which has been extended to handle
"url" string fields in the message, since ArgReceived() may also be asked to
open urls and not only local files. The LOAD_AT_STARTING mechanism, which
turned out to be broken for multiple args anyway, could be replaced, since
RefsReceived() already buffers the message when it has been called earlier
then ReadyToRun().

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@244 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:47 +02:00
stippi
df6c7e475d The BWebDownload was using BWebPage for stuff, but the BWebPage can be long
gone when a BWebDownload wanted to use it. Now the class is more self-sufficient.
One example of the problem was clicking a link that opens a blank page, then
closing that page while the download was still loading. 1) The download finished
notification never arrived and 2) clicking to cancel the download would crash
after the download finished, since really it had already selfdestructed...

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@240 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:30:46 +02:00
Alexandre Deckner
a3b3ded520 Manually update to the r238 state, so that we can rebase next commits on top of it
Original commit message of r238:

    Split up WebPositive from HaikuLauncher. HaikuLauncher is back to it's simple
    self. WebPositive uses a new WebPositive folder in config/settings. Otherwise,
    everything should be as before. LauncherWindow and LauncherApp have been renamed
    and cleaned up for the Haiku coding style.
2012-07-03 15:05:29 +02:00
Alexandre Deckner
0b355b4e97 Rename LauncherXXX files to their new WebPositive names
Edit history with this rename commit to preserve history as we will git-filter --subdirectory-filter the WebPositive directory. The HaikuLauncher directory was renamed to WebPositive trough the past history with git-filter.
2012-07-03 14:58:51 +02:00
Alex Smith
c005e747ef Removed the x86_64 headers/source directories, now all merged with x86. 2012-07-03 11:17:56 +01:00
Alex Smith
4f419b518f Merged in the x86_64 exception handling.
I've split the 32-bit dependent IDT setup code and ASM interrupt handlers to
the 32 subdirectory, arch_int.cpp now contains only the generic hardware
interrupt handling code.
2012-07-03 11:13:51 +01:00
Alex Smith
22fe9b20f5 Merge branch 'master' into x86_64 2012-07-03 08:46:52 +01:00
Alex Smith
90907c35ac Moved ELF64 relocation functions to x86 arch_elf.cpp. 2012-07-03 08:45:35 +01:00
Rene Gollent
7f7b659ec5 Use safer but slower approach to copying the string. 2012-07-02 20:17:03 -04:00
Rene Gollent
29291c8c92 Cleanups/optimizations. 2012-07-02 19:42:20 -04:00
Alex Smith
020a25ce46 Fixed x86_64 kernel compilation.
For now I've just put all the stub functions that are needed to link the
kernel into a file called stubs.cpp. I've not yet moved across the interrupt
handling code or the ELF64 relocation code to the x86 directory. Once those
have been moved I can get rid of the x86_64 headers/source directories.
2012-07-02 20:56:27 +01:00
Rene Gollent
dc5a16bb70 Add TODO note with respect to needed asm implementations. 2012-07-02 15:42:38 -04:00
Rene Gollent
8695be5049 Fix regressions in arch_cpu_user_strlcpy().
- repnz movsb turns out to not actually be a legal instruction,
  resulting in various strings being copied incorrectly, leading to
  random crashes in various places. Rework to use loop instead.
  Thanks to Alex Smith for helping review changes and offering
  improvements.
- Minor cleanups.
- Fixes #8650 properly.
2012-07-02 15:07:17 -04:00
Alex Smith
0897e314b7 Merged x86_64 headers into x86 headers.
Not many changes seeing as there's not much x86_64 stuff done yet. Small
differences are handled with ifdefs, large differences (descriptors.h,
struct iframe) have separate headers under arch/x86/32 and arch/x86/64.
2012-07-02 18:47:06 +01:00
Alex Smith
da80a0500c Preparation for merge of x86 and x86_64 kernel sources.
Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers
are going to reside under headers/private/kernel/arch/x86 and
src/system/kernel/arch/x86 along with the existing x86 code. This commit
changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH,
has been added. This is the name of the kernel/boot architecture directory
name, set to x86 on both x86 and x86_64. This is now used in all places where
TARGET_ARCH was used to get to kernel arch sources/headers (I've changed
everything necessary as far as I can tell). Kernel won't build for x86_64
at the moment as the sources have not been merged, loader does.
2012-07-02 14:07:49 +01:00
Alex Smith
4f78437c0d Style fix. 2012-07-02 10:13:37 +01:00
Alex Smith
120585d549 Merge branch 'master' into x86_64 2012-07-02 09:39:42 +01:00
Rene Gollent
fb8447d595 Fix ticket #8650.
- Replace arch_cpu_user_strlcpy() and arch_cpu_user_memset() with x86 assembly
  versions. These correctly handle the fault handler, which had broken again
  on gcc4 for the C versions, causing stack corruption in certain error cases.
  The other architectures will still need to have corresponding asm variants
  added in order for them to not run into the same issue though.
2012-07-02 02:06:29 -04:00
Michael Lotz
5dc5dbbbb4 Allow more chars to be sent unencoded and encode space as '+'.
While this produces not strictly valid query strings, it reduces the
encoding overhead significantly.
2012-07-01 20:30:35 +02:00
Michael Lotz
39a26a0aa5 Ensure that the qrencode caches are cleared when aborting.
The caches contain pointers into memory allocated by debug_malloc()
that come from a pool that is destroied once the command returns.
We therefore have to ensure that all such pointers are cleared in all
cases before returning from the command or we will run into errors
when executing the next commands.
2012-07-01 20:27:35 +02:00
Michael Lotz
2a80abaa7a Use a shorter URL and query to maximize payload space. 2012-07-01 19:36:41 +02:00
Humdinger
f437c10c48 Small visual changes to left scroll view. Fixes #8659.
Fixed width of left scroll view.
Added padding to list items.
Thanks yourpalal for your hints.
2012-07-01 19:06:16 +02:00
Humdinger
62115b4772 Automatic whitespace cleanup and coding style. 2012-07-01 19:06:14 +02:00
Michael Lotz
e0ef5b2a97 Allow aborting the command while QR codes are generated. 2012-07-01 19:01:26 +02:00
Michael Lotz
a86c7d0ab3 Add qrwebpost to generate URLs for easier data collection.
Using the qrwebpost debugger command one can initialize an id for
subsequent QR codes. All QR codes generated following such an
invokation produce URL QR codes that link to an online service that
concatenates all data with the same id and later allows it to be
displayed/downloaded in one piece. This makes collecting larger amounts
of data more convenient. Note though that the URL encoding does waste
space and therefore reduces data density, causing more QR codes to be
generated for the same amount of input data.
2012-07-01 19:01:18 +02:00
Michael Lotz
db744fca35 Add libqrencode credits to AboutSystem. 2012-07-01 06:53:59 +02:00
Michael Lotz
c95456a699 Add qrencode kernel debugger add-on to the image. 2012-07-01 06:37:28 +02:00
Michael Lotz
ce79b4c428 Add qrencode kernel debugger add-on to the build.
The defines in the Jamfile remap the memory allocation functions to use
debug heap versions of the corresponding functions.
2012-07-01 06:37:28 +02:00
Michael Lotz
0948c0ff50 Add module code that wraps qrencode and does the printing.
* Generates QR codes using the qrencode library functions and prints them
  using terminal escape sequences and the special "block" characters.
* Supplies a static QR buffer that can be used to accumulate output for
  later conversion into QR codes.
* Adds qrencode debugger command that allows to generate QR codes for
  arbitrary strings.
* Adds qrappend, qrflush and qrclear to manipulate the QR buffer.
  qrappend can be the target of a pipe to accumulate output from other
  commands. qrflush causes the QR buffer to be encoded and cleared and
  qrclear only clears the QR buffer.
* Adds qrconfig that allows changing the QR code version, determining
  what size QR codes are to be used.
2012-07-01 06:37:27 +02:00
Michael Lotz
5521e28415 Reuse two unused lower ASCII chars for block drawing.
Characters 17, 18 and 19 (device control 1, 2 and 3) become "full block",
"upper filled block" and "lower filled block". Using back- and foreground
color inversion these could be reduced to a single "half block", but
having them available as idividual chars is more convenient.
2012-07-01 06:37:26 +02:00
Michael Lotz
2d37d290b7 Make sure that the internal strdup is used.
The kernel strdup will still be used, as the local symbol doesn't
override that. Since we must not use strdup from within the kernel
debugger (as it does malloc from the normal heap), force the use of
the internal strdup that gets redirected to debug_malloc.
2012-07-01 06:37:26 +02:00
Michael Lotz
fcc4ecb0c7 Add debug_calloc() to the debug_heap. 2012-07-01 06:37:25 +02:00
Michael Lotz
d58aadcdca Import qrencode-3.3.0 source to be used for QR encoding in KDL. 2012-07-01 06:34:44 +02:00
Matt Madia
191b137a31 Updated VL-Gothic fonts to version 20120629. Fixes #8662. 2012-06-30 18:51:26 -04:00