Commit Graph

251 Commits

Author SHA1 Message Date
stippi
d5f0e82b84 * Moved some settings keys into new files SettingsKeys.h/cpp to make it less
likely to introduce erros with spelling settings keys wrong somewhere.
* Introduced new setting for the behavior if tabs should show at all if only
  one page is showing in a window. Defaults to on, i.e. the previous behavior.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@393 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:39:51 +02:00
stippi
bb68c7f66d White space cleanup
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@392 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:39:45 +02:00
stippi
0145cf4349 Remember the currently focused view within a tab in the user data that can be
associated with a BWebView and restore the focus when the tab changes. This fixes
a number of annoying issues.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@391 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:39:45 +02:00
stippi
65e61cdca4 * Make use of the new svn revision jam magic to embed the current svn version
into the about window.
* Give access to the about window from the browser windows.
* Renamed the "Show *" entries in the Window menu to just "*".

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@387 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:39:39 +02:00
stippi
cb0b497952 Don't display the unit of the current size if it's the same as the unit of the
expected size in the download progress view.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@382 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:52 +02:00
stippi
92e8b344ac Added option and infrastructure to zoom the whole page instead of the text only.
(Currently not remembered, but the default (off) is often better than zooming
images.)

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@381 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:52 +02:00
stippi
062b237237 * Added optional BWebView parameter passed to BrowserWindow constructor, which
will be passed to CreateNewTab(), so that BrowserWindows can be created to
  embed a view which already exists.
* Extended NewPageCreated() hook with the additional information that
  BWebPage::createPage() already provides. It can be used to decide if new
  windows shall be created instead of creating another tab for the new page.
* Reworked BrowserWindow constructor with regards to the "DoNotHaveToolbar"
  policy. All views are always created, BLayoutItems are remembered for the
  various groups and are being turned invisible depending on policy. This way
  each BrowserWindow is fully valid and can be reconfigured easily during
  runtime. (Settings could be exposed as well now.)
* Changed ChromeClientHaiku::createWindow() implementation to not disregard
  the "window features" properties if only some of them are not set.

All this combined makes the Haiku User Guide translation page open a separate
window for editing the translations just like BeZillaBrowser. What does not
work (but apparently also not in BeZillaBrowser) is clicking another block and
having the editing window update to show that block instead. Don't know if this
is actually supposed to work that way, it just seems like it should.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@380 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:52 +02:00
stippi
ea8b6f3fd1 * Reworked closing a page programatically. BWebPage no longer sends a plain
B_QUIT_REQUESTED, instead BWebWindow has a new hook and derived classes can
  implement it.
* Some refactoring in BrowserWindow to move code from MessageReceived into
  separate methods for easier debugging and cleaner code.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@378 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:51 +02:00
stippi
f41f967668 Made method that returns the tab index for a contained view public.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@377 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:51 +02:00
stippi
979c4b319d Replace the previous resize request implementation by a more advanced one:
* Ignore resize requests when the window has more than one tab at all.
* Make sure the new size is not larger than the screen and shift the window so
  everything is visible.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@368 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:51 +02:00
stippi
5a9074bc17 * Added static method BWebPage::ShutdownOnce(), which the application can call
for any at-exit-cleanup. Moved the closing of the favicon database from
  BWebSettings there, since I wasn't sure if closing the icon database happened
  at the right time, or perhaps too late if it was done via global destructors.
* Temporarily disabled the native cookie support, as it only delays application
  startup time right now. We are really using the cURL cookies at the moment
  and they work just fine it seems.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@362 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
bef126e25e white space cleanup.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@360 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
5d164e55a5 Use a better algorithm to figure out the final favicon display size. Icons which
can be scaled down by an even factor will now be displayed better. Also enable
smooth scaling and use a better drawing mode. The net result is that icons will
be displayed between 14x14 and 18x18 with the best suitable scaling factor.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@358 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
ec7e3b29c4 Move variable declaration into proper scope and where it's first needed.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@357 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
98b056e146 * Scroll the downloads which just started into view.
* Delete the progress view when init fails.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@356 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
2232d801e0 Canceling a download needs to unset the info text.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@355 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
c5d7a6c949 Manually removing downloads needs to trigger checking the button enabled status
in the download window.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@354 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
3b7f919fb8 Removed commented out code which wasn't needed after all.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@353 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:50 +02:00
stippi
90ac9c309c Implemented displaying the download speed and estimated finish time. Looks and
behaves the same as in Tracker's status window.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@352 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:43 +02:00
stippi
7998882116 Imported StringForSize utility function from Haiku. To be removed when
WebPositive is integrated into the Haiku source tree.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@351 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:35 +02:00
stippi
7ac6b59c33 Moved DownloadProgressView and related private classes out into their own source
file.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@350 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:27 +02:00
stippi
34c5cb8c83 Following another suggestion by Axel: Check if a download file is being moved
into the trash. If it's still in progress, cancel it. Dim the icon in any case.
Undim the icon if a download is moved back out of the trash (restarting still
has to happen manually).

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@348 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
f65c57d54e Removing finished or missing downloads may have to disable the respective
other button.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@347 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
f28abe9d24 * An unfinished download is no longer considered finished, just because it isn't
currently in progress anymore.
* Added feature to remove "missing" downloads, i.e. those for which no
  corresponding file exists.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@346 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
b65e0ec04e Just follow a moved download file, as Axel suggested.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@345 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
61c96f4e5e Added node monitoring to downloads window.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@344 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
2e70c4bf9b Adjust the steps of the downloads window scrollbar.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@343 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
0430f93fe3 * Finished testing of downloads interaction with listener and removed debug
output.
 * Optimized download restoration at program start and moved it into download
   window thread in order not to block app startup.
 * Downloads which have been removed meanwhile, are displayed with dimmed icon,
   and the option to Restart it is given.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@342 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
636f175b15 Work in progress on better download management...
* Allow to specify the downloads folder in the General settings page.
 * Added necessary wiring.
 * The listener notification was not synchronous anymore because of mixed
   up default function params in BWebPage.
 * Added temporary debug output to WebDownloadPrivate.cpp... the restarting
   downloads code path needs testing yet.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@341 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
1beb8c8035 Whoops... should not have been part of the commit...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@340 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
6463044ee7 Add the value to the notification message as well.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@339 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
0ba16dd4c1 Added support for attaching listeners to the SettingsMessage, to be notified
when a named value changes.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@338 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:19 +02:00
stippi
9ccfda9c50 Converted to Haiku coding style.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@337 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
aa5ba348ea * Added General page in Settings window with option to specify the maximum
age (in days) of items in the browsing history.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@336 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
e91fdd924a * Converted BrowsingHistory.h/cpp to Haiku coding style.
* Probably fixed a race condition on program launch. If you started typing
   into the URL field really fast, the static instance in
   BrowsingHistory::DefaultInstance() could be created by two threads, which
   may be responsible for the "recursive init" exception that GCC throws in
   this situation. It's not easy to trigger, maybe this was it.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@335 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
cb8b9e4ffd Some notifications are now channeled through BWebPage, the loading progress and
status. This allows the browser to set those properties to the current page
when switching pages.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@333 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
0fc94bdcbc At the common submenu at the location where the item was removed.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@331 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
f1dcf19d1d Sort items in the Go menu into submenus per base URL. This further reduces the
clutter there. I'm quite happy now, but one issue could be that the Go menu is
not stable: Any URL will always appear only once, somewhere in the hierarchy,
depending on when you last visited it. The BrowsingHistory could be changed,
though, feedback welcome.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@330 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
7cbf0e1d7e Fix the history restoration for real... duh!
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@325 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
e405ff6af7 * Improved the Go menu by sorting items into sub-menus for each day, five days
into the past, and the rest of them into "Earlier".
 * Moved the "Clear history" item to the top.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@324 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:18 +02:00
stippi
2e8e305ebc * Fixed bug that would save the history for each item in the history when loading
the history from disk...
 * Don't touch items when loading them from disk, messing up their visited time.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@323 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:17 +02:00
stippi
e4b86f6ceb * Improved API for more convenience.
* Fixed comparison operators.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@322 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:17 +02:00
stippi
193f6b806f Small cleanup.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@321 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:17 +02:00
stippi
c1f8fe4de1 Improvements in bookmark handling:
* Search for existing bookmarks recursively.
 * Open all bookmarks at once, when the user clicks a bookmark folder in
   the menu (thanks Axel). But do ask for confirmation if there are more
   than ten bookmarks.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@318 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:17 +02:00
stippi
3760e5d868 * Added Tracker Kit NavMenu.h and SlowMenu.h which ought to be removed when
WebPositive is moved into the Haiku repo.
 * Convert the Bookmarks menu into a BNavMenu, make sure it updates to the
   current folder contens each time it opens.
 * Wire everything to complete the bookmark support. Managing bookmarks is
   fairly nice by re-using Tracker. One can even put anything into the book
   mark folder and WebPositive will launch the respective app if it doesn't
   have a META:url attribute. The most immediate benefit is that clicking
   sub-folders in the Bookmarks folder will also open that folder in Tracker.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@315 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:12 +02:00
stippi
e509fd60c1 Added code for bookmarking the current page and opening the Bookmarks folder
in Tracker (or the preferred file manager). Populating the Bookmarks menu is
still missing.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@314 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:03 +02:00
stippi
88e373028c * Made BWebPage download related methods and listener member static.
* Introduced BWebPage::RequestDownload() public API (expected to run
   synchronous).
 * Added necessary wiring for "Download this link" in context menus.
 * Restarting downloads works in principle, although with some quirks.
   (Sometimes it appears the "Desktop" is being downloaded...)

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@310 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:03 +02:00
stippi
dcad381777 Bugfixes for tab view click events:
* When adding/removing tabs, process a fake mouse moved event to synchronize
   with the new tab layout.
 * Count the mouse clicks for the "double click into empty area opens new tab"
   feature in such a way that clicks into tabs never count (closing a tab was
   the first click before, the second would immediately open a new tab and
   similar issues).

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@309 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:38:03 +02:00
stippi
7239ea752d * Added a class CookieJarClient to WebCore's CookieJar.h which provides the
same functionality as the global methods for managing cookies. This is only
   enabled for the Haiku platform. Since the global cookie methods get a Document
   pointer, I envision, the CookieJarClient could eventually be a member of
   Document instances. It would then be passed upon WebCore::Page creation.
   Still waiting on feedback from other WebKit developers on this one. This change
   is more elegant than what the Qt port does, which is to use WebKit classes in
   WebCore (layering violation). Right now, a single global instance of a
   CookieJarClient can be assigned.
 * Implemented CookieJarClientHaiku which uses a BNetworkCookieJar to forward
   the requests. Eventually, the behaviour could be browser specific.
 * Added all the necessary wiring to BrowserApplication to make the cookie jar
   persistent.
 * TODO: Actually parse cookies and handle at least the expiration date, but
   other stuff like matching the domain of the cookie and the URL and "HTTP-only"
   cookies seems important as well.

Even though I have confirmed that cookies are stored and restored correctly,
and also retrieved via the global cookie methods, I can see no change in browser
behaviour. For example enabling "Stay signed in" on googlemail.com does not work
in WebPositive, although BeZillaBrowser automatically logs in in a new session
when surfing to googlemail.com. No idea if this is even implemented with
cookies, although it seems like it should be.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@303 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:37:51 +02:00
stippi
6faa5c3d74 Use the "bytes" member from the keydown message in order to get mapped keys.
The 8 and 2 on the number pad would not work in the URL bar otherwise, since
those map to "B_UP_ARROW" and "B_DOWN_ARROW" as raw char.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@302 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:37:36 +02:00
stippi
c108caf865 * Use a different deletion strategy for the BWebView. Since the BWebPage will
delete itself in the application thread, we cannot delete the BWebView before
   this happens in the window thread. Now BWebPage is repsonsible for deleting
   the view.
 * Also make sure that there are not still loaders running on the frame. Since
   the timer messages arrive in a different handler than the BWebPage handler,
   the timer functions being called could operate on stale pointers. I am not
   sure why WebCore doesn't make sure of this itself. Perhaps we are not supposed
   to delete something directly, but via reference counting. Though I am not sure
   what it would be, since WebCore::Page is not reference countable. Maybe the
   frame... need to investigate. After all, there could be other timers in the
   queue besides loading related ones.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@295 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:37:12 +02:00
stippi
0fe64862b7 Changed how auto-completion fills the choices. It doesn't remove choices with the
same base URL anymore, but simply uses a lower priority for every less recent
choice with the same base URL, and then sorts the result list after fetching.
Previously, you would only get one choice for a given base URL, and that one was
more likely a longer URL, since it was visited more recently than the start page
of the respective site.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@286 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:36:34 +02:00
stippi
5c2095b4b0 * Link against liblocale.so and load app catalog.
* Took FontSelectionView from Haiku Fonts preflet, but almost rewrote it to
  adapt for WebPositive needs. It's now a BHandler, so that it can actually
  receive messages itself. The Fonts version is a BView which is never attached,
  and only receives messages, because the window forwards them. Implemented
  option to use separate style menu.
* Provide font settings in the Settings window.
* Wired everything to make it work, although I am not sure standard font is
  applied. It does work for the serif font, though. Maybe I ought to install
  more fonts and check with simpler HTML.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@284 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:36:18 +02:00
stippi
b5cd3e842f Reworked BrowserApp to use SettingsMessage.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@279 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:33:51 +02:00
stippi
75c44a83ca Moved some utility stuff into new subfolder "support". Some of these needs to be
removed too, once WebPositive is moved into Haiku. SettingsMessage comes straight
from MediaPlayer. Should be moved into src/kits/shared eventually.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@278 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:33:46 +02:00
stippi
d0417c565a Implemented basic settings window skeleton.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@277 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:33:10 +02:00
stippi
c6662bd928 PatternSelector has a default implementation...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@276 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
c1bbe7400c Improved coding style and the looks of the matched pattern in choices.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@275 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
stippi
dad87be6e5 Better to darken the match color, this makes it visible also in non-selected
choice items.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@274 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:32:58 +02:00
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
stippi
50c04c441d Actually, the authentication challenge needs to know for which page it is,
otherwise we may display the login panel above an unrelated page. Tested by
clicking Login on dev.haiku-os.org and Cmd-T to open a new tab before the
login panel shows. Works.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@237 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 13:31:29 +00:00
stippi
3d6558b6ca Coding style fix.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@236 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 13:20:50 +00:00
stippi
ce1641f62c Hide the implementation details of BWebWindow::AuthenticationChallenge() from
clients.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@235 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 13:20:24 +00:00
stippi
b3a723711e Added tool tip to Add tab button...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@234 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 13:09:57 +00:00
stippi
bf0181bd00 Instead of hiding the tab view when there is only one tab, make the tab close
buttons only available when there is more than one tab. This gives a more
consistent interface and doesn't hide features, most importantly the "Add tab"
button. For users that wish the most minimalistic UI, this behavior could
later be configurable (along with opening new windows versus new tabs).


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@233 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 12:26:17 +00:00
stippi
1cba0fd63a * Use the proper channels for reloading. (Added BWebView/BWebPage::Reload().)
* Catch B_RETURN key down messages, when the target is the URL text view.
  Don't let the text view send a message, but react on B_RETURN only, in the
  window, also letting the Go button flash for a bonus. This fixes unprovoked
  (re-)loading of pages when the text control went out of focus and thought the
  text had changed, sending GOTO_URL. This could happen when just grabbing the
  scrollbar so that the text control looses focus. Also makes the m_loadedURL
  string superfluous, which I added for the same purpose.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@232 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 11:01:36 +00:00
anevilyak
507875ecb1 Add Cmd+R as a shortcut for reload page.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@231 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 01:48:18 +00:00
stippi
f44756cf46 Middle click anywhere into a tab closes that page.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@230 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-27 00:05:33 +00:00
stippi
84c9928e40 * Added small symbol buttons to tab container view. Currently only "New tab" is
added and works.
* Added "Open location" shortcut Cmd-L as in Firefox.
* Moved "Show downloads" shortcut to Cmd-J, again as in Firefox. It uses Cmd-D
  for "Bookmark this page". Though I have no idea why we simply shouldn't use
  Cmd-D for Downloads and Cmd-B for Bookmark this page.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@229 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-26 23:17:51 +00:00
stippi
72664707fa Implemented a completely new tab view framework:
* Tabs are only visible when there are more than one.
* Tabs have close buttons.
* Much more flexible, adding scrolling and left/right buttons when there are
  more tabs than room will be easy. Also drag&drop of tabs.
I've tested this quite a bit, hopefully there are no regressions.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@228 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-26 19:02:24 +00:00
stippi
1c3a676322 Fixed comment, the TODO was already resolved.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@226 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-26 08:55:29 +00:00
stippi
64f8c06735 Fix crash on program exit. Always good to use defensive programming techniques...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@225 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-26 08:53:10 +00:00
stippi
4978460d4c Implement creating new pages properly. This fixes content submission on
haiku-os.org and probably a few other things. Basically, we were creating
the new pages ourselves in dispatchDecidePolicyForNewWindowAction(), but
we were meant to implement dispatchCreatePage() instead. Now, what we do is
similar for the Qt port, only better (found a bug in Arora): When the user
clicked with the tertiary mouse button, we create the window ourselves, as
before, and otherwise always have WebCore create the page instead.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@218 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 18:50:51 +00:00
anevilyak
5afb1a0f0c Spelling fix.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@216 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 15:33:01 +00:00
stippi
9397a29aaf Use the document look for the LauncherWindow and adjust the layout accordinly.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@214 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 14:16:06 +00:00
stippi
f16ed908be What the heck... use the correct weighting for calculating the average grey.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@213 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 12:49:38 +00:00
stippi
9db22c336b Make it much more obvious when icon buttons are disabled.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@212 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 12:46:28 +00:00
stippi
1da75c0bed Implemented "Stop Loading" feature, designed icon, added button and necessary
wiring to arrive at BWebFrame::StopLoading().


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@211 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 12:30:39 +00:00
stippi
16ccf622ab Removed forgotten debug output.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@207 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-25 09:20:53 +00:00
stippi
ce869c629b Selecting or not selecting the newly opened tab never worked, since the "select"
field was added to the NEW_WINDOW_REQUESTED message, and not passed on to the
internal NEW_TAB message. Fixed this, and also added a check for the tertiary
mouse button for regular navigation actions. This means clicking links with
the middle mouse button opens in a background tab regard less if it would have
opened a new page when clicked with the primary button.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@199 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 21:00:55 +00:00
stippi
c516096e8e * Refactored WebDownload into BWebDownload and BPrivate::WebDownloadPrivate.
* Fixed a bug where the "Remove Finished" button in the downloads window would
  be wrongly disabled whenever a new download started.
* Implemented cancelling downloads.
* Prepared restarting downloads as far as the GUI goes. Need to research this
  first how a download can be triggered independently from anything else in
  WebCore...


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@196 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 19:48:35 +00:00
stippi
054c42b1b9 Renamed WebViewWindow to BWebWindow and converted the API to Haiku coding guide
lines.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@195 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 18:33:22 +00:00
stippi
feba54b70c Invalidate the BTabView when new tabs are added. Works around new tabs not
showing immediately after they have been created, some pages don't set the
title either, so then the tab still would't show.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@193 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 10:39:17 +00:00
stippi
d54c477ad1 Properly set the download listener on new tabs. This fixes the Downloads window
not popping up for subsequent tabs.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@192 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 10:34:53 +00:00
stippi
57b6a0fc1b * The next round of API cleanup. WebView was renamed to BWebView. Some API needed
be ChromeClientHaiku has been moved to BWebPage. WebView.h is now clean and
  would be ready for the Haiku tree.
* BWebPage no longer invalidates the BWebView when a resize happens, WebCore
  already takes care of that.
* BWebView draws a white area in Draw() when the offscreen view is not clean.
  since no unnecessary invalidation happens, this doesn't result in any flicker
  and basically only speeds up perceived loading speed, since the web page is
  immediately white upon program launch.
* Since WebTabView does not draw a frame, it removes B_FULL_UPDATE_ON_RESIZE
  and thereby completely avoids flickering upon window resize.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@190 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-24 10:20:33 +00:00
stippi
58a9dd9dfe * Moved exposed classes from WebCore out of WebFrame.h, reintroduced
WebFramePrivate to hide WebCore internals from the public API.

FrameLoadClientHaiku:
* Don't send load requested in policy decision method
  dispatchDecidePolicyForNavigationAction(). Calling the policy function with
  PolicyUse will already trigger the load correctly. Ignore the request when
  we want to load it into a new window/frame instead.
* Subframes returned false in canHandleRequest(). This was what stopped stuff
  being loaded into sub frames! Finally frames and iframes are working. Praise
  Ingo's Debugger once more!
* Renamed LOAD_TRANSFERING to LOAD_COMMITED, since WebCore means that the loader
  and policy stuff have come to the conclusion to finally load the URL. So that's
  also the event which needs to update the URL text control.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@182 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-23 15:52:17 +00:00
stippi
e7bd43d9ca Place the thread priority tweak somewhere where it actually works. This makes
HaikuLauncher totally usable under heavy system load.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@174 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-22 13:36:46 +00:00
stippi
0bcb05f98d Forgot to commit this. Polishes no-border BTabView look.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@173 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-22 13:30:54 +00:00
stippi
7a9d9c2cf8 Set the "no border" look to avoid the double frame around the WebView.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@169 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-22 13:23:55 +00:00
anevilyak
d05b8e1a31 Change window/tab management shortcuts:
- cmd+w now closes the active tab. If the tab is the only one remaining, the window is closed.
- cmd+shift+w closes the window, regardless of tab count.

Whitespace cleanups.



git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@167 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 16:16:46 +00:00
stippi
b6ffb2048f Removed stray debug output.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@166 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 15:31:11 +00:00
stippi
df621688c5 Fix closing tabs.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@165 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 15:30:49 +00:00
stippi
d3d066c322 BTabView doesn't properly trigger a relayout when adding a new tab.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@164 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 13:48:07 +00:00
stippi
714edff6e1 Select the new tab when creating it via the menu.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@163 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 13:43:27 +00:00
stippi
fafcdf7cd1 Introduced BWebPage::ResendNotifications(). This is a simple way for the
window to update itself to the properties of a page when switching pages.
Resolves deadlock problem with BWebPage::CanGoInDirection(), which I've removed.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@162 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 13:34:54 +00:00
stippi
63d76ab872 Middle clicking links will open new tabs, but will not select them. Matches
Firefox behavior.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@161 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 13:20:57 +00:00
stippi
56bdbcc74e Fixed deadlocks when adding a new tab. The WebView needs to be created int the
app thread indeed, but the app thread may already be blocking on the window lock,
we we cannot wait for a synchronous reply from the app in the window thread.
Refactored the tab creation and reused it in the LauncherWindow constructor.
Added the ability to load a URL in the new tab right away.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@160 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 13:13:03 +00:00
stippi
14c76a6546 Use arrow icons for th enavigation buttons. The IconButton class is a slightly
extended version of the LaunchBox version (added TrimIcon() method). Will go
away when/if the browser is moved into the Haiku source tree.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@159 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-21 12:49:11 +00:00
stippi
5478dd2992 * Asthetical improvements with the new tab view.
* Actually set the target on the tab view, so that we change urls when switching
  tabs.
* Move all New/Close items to the top-level, since I find it slightly too
  awkward to reach them otherwise.
* Misc coding style fixes.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@157 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 20:03:11 +00:00
anevilyak
14ad7bdb25 Focus address bar when creating a new tab.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@156 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 19:59:29 +00:00
anevilyak
75845de732 Add mechanism for asking LauncherApp to create a web view to ensure new view creation always happens in the main thread. Fixes assert failure when creating a new tab with debug builds.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@155 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 19:52:10 +00:00
anevilyak
d311e279f5 Clean up tabs properly on quit.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@154 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 18:59:51 +00:00
anevilyak
5eba20dc10 Add close tab support via cmd+shift+w.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@153 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 18:46:53 +00:00
anevilyak
95b246f2a7 Add basic tabbed browsing support. Does not yet properly handle maintaining/switching the current URL or status bar text per-tab.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@152 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 16:22:31 +00:00
anevilyak
c14fa62638 Typo/spelling corrections.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@151 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 15:28:30 +00:00
stippi
82912660d5 * Began renaming some public API with the B* prefix and using the Haiku coding
style. (WebPage -> BWebPage). Documented what needs to go where in WebPage.h.
* Moved misplaced functionality from WebFrame to BWebPage (navigation).
* EditorClientHaiku takes a BWebPage pointer now, which brings a slight cleanup.
* Exposed WebFrame::isEditable() to EditorClientHaiku, so isEditable() can be
  implemented.
* Added some asserts in FrameLoaderClientHaiku according to the Gtk port and
  placed some debug output.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@150 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-20 11:13:44 +00:00
stippi
c9219daa51 Fixed left-over bug from refactoring.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@148 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-19 18:29:13 +00:00
stippi
a89e2a4b6c Refactoring to support multiple WebViews per WebViewWindow. There is now the
notion of a current WebView. In the notification messages, carry the information
which WebView it is for.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@147 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-19 17:23:45 +00:00
stippi
a62545c155 Renamed WebProcess to WebPage.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@146 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-19 15:47:21 +00:00
mmlr
defb5e01c4 Fix uninitialized m_windowCount which could cause the app to close on any window
close randomly (or always with libroot_debug).


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@139 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-19 02:48:44 +00:00
stippi
2bff1b8203 Wired and debugged everything to give us a basic "Go" menu, a.k.a browsing
history... :-)


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@98 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 18:17:17 +00:00
stippi
ce277486d7 Implemented BrowsingHistoryItem class, which uses BDateTime to track when it
was invoked.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@95 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 16:24:24 +00:00
stippi
d4f4c7f808 Added my copyright, since I've redesigned here quite a bit.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@94 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 16:23:31 +00:00
stippi
dad9d4a5a4 Added BDateTime stuff from Haiku, and addd archiving features to these classes.
Needs to be put back into Haiku and made public API eventually.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@93 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 16:22:13 +00:00
stippi
4e703b4b2f Patch by Rene Gollent, which fixes some typos. Thanks!
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@92 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 15:58:35 +00:00
stippi
77d2abe296 First structure of BrowsingHistory. Does nothing, but can in theory save settings.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@91 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 14:06:28 +00:00
stippi
b2b53e7c19 AuthenticationPanel:
* Improved wording for persistency checkbox.
* Added BTextView for displaying the info text.
* Focus password input on second runs with bad password.
* Enabled drawing updates for blocking windows.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@90 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 12:25:08 +00:00
stippi
56fc5b5b33 Fix regression about opening URLs from command line args.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@89 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 12:23:47 +00:00
stippi
932b58673a Removed shortcut for testing AuthenticationPanel.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@88 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 12:23:17 +00:00
stippi
04730674fd Support dropping files on LauncherWindows to load them.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@85 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 10:39:24 +00:00
stippi
b067486b74 Fix loading links from command line args.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@83 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 10:24:49 +00:00
mmlr
a30b7161b8 * Handle authentication challenges by sending them off to the WebViewWindow
which then invokes the authenticationChallenge() hook.
* Implemented that hook in LauncherWindow by means of the AuthenticationPanel.
* Removed realm and method arguments to AuthenticationPanel::getAuthentication()
  and replaced them by a simple "text" that is constructed in the
  FrameLoaderClient based on the challenge details. It is not yet shown though.
* Made a tab -> spaces replace and added myself to the copyrights in some files.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@74 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-15 00:30:11 +00:00
stippi
5eb61e4856 Added AuthenticationPanel implementation.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@70 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-14 20:31:05 +00:00
stippi
aab72d7ea6 * Use hiding instead of minimizing for the Download window.
* Auto-show and auto-move-to-current-workspace when a download starts.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@61 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-13 13:42:52 +00:00
stippi
8260b39fbc * Now stores the URL of downloads in the DownloadProgressView and in the settings,
so that we can eventually restart downloads.
* Checks if a downloaded file already has a previous download and replaces it.
  (Actually, this should take the path into account, not only URL.)
* Stores the URL as "META:url" attribute, as the good old NetPositive did.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@60 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-13 13:17:45 +00:00
stippi
a8d8342dfa * DownloadWindow is now very usable.
* Fixed the scroll view look and behavior.
* Downloads are persistent.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@59 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-13 12:51:58 +00:00
stippi
dd275f312a More work on the download window GUI. The scroll view is broken, downloads are
not persistent.
Resolved TODO in WebProcess about race condition when dispatching download
notifications. Just block until there is a reply. WebDownload pointers are
just used for extracting information at init time, and then later only as
cookie to match view and download. Although as soon as we want to cancel downloads,
refcounting may become necessary again.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@57 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-13 01:31:54 +00:00
stippi
7a40c9757e Make the Download Window accessible from every window. Bring it to the workspace
that the window is on that send the request to show it. Remember the size and
if it was showing across sessions.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@56 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-13 00:29:06 +00:00
stippi
4b059d47cd First basic GUI download progress display...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@54 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-12 21:16:25 +00:00
stippi
c08684de2a Removed no longer needed and supposedly non working LeakTracker. On top of this,
WebCore already has it's own LeakTracker enabled in debug builds.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@52 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-12 17:43:55 +00:00
stippi
d04f705dfc Introduced API for setting the caching policy in WebProcess, and used it
LauncherApp. The values/code come straight from the GTK port.


git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@47 94f232f2-1747-11df-bad5-a5bfde151594
2010-02-12 12:29:04 +00:00