Commit Graph

251 Commits

Author SHA1 Message Date
anevilyak
a4841f3a5d Apply patch by Matt Madia: Add the escape key as a shortcut to stop page loads. Closes ticket #6409.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@541 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:45:30 +02:00
stippi
e71c5717b1 Account for the fact that the visible frame of a tab is one pixel larger at
the bottom. Will fix Haiku ticket #6383 when a new package is made available.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@539 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:45:29 +02:00
anevilyak
01abe0e23c Fix Web+ build for this morning's locale changes/cleanups.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@537 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:45:29 +02:00
anevilyak
0c93869115 Fix style violation.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@532 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:46 +02:00
anevilyak
7f88e2461b When asked to programmatically open a new URL (i.e. by being launched from another app), give the resulting web view input focus.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@531 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:46 +02:00
anevilyak
aef38397d3 Fix crash that occurred when hitting pgup/pgdn in the URL input without having the choice list visible.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@530 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:46 +02:00
anevilyak
ef6778d11e Fix building Web+ against updated locale kit (currently requires manually placing liblocalestub.a from Haiku's build tree)
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@527 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:21 +02:00
stippi
fdd4f3bbb8 Add the static items at Bookmark menu construction, so the shortcuts work even
when the menu has never been opened yet.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@526 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:12 +02:00
stippi
054e7e4344 Make sure the interface is showing when the menus are used (i.e. by invoking
Cmd-Esc shortcut).

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@524 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:12 +02:00
stippi
d848a89394 Changed download short cut from J to D, as all the rest of the shortcuts make
more sense and don't necessarily follow Firefox conventions.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@523 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:12 +02:00
stippi
ed0c70c14d * Small cleanups.
* Make sure that the BWebView for which a notification is received still exists.
  This affected only the title changed notification, for which this was already
  checked, and the icon received notification, which could actually lead to
  a crash if the tab was closed before receiving the notification.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@522 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:12 +02:00
anevilyak
591220f9b2 When disabling auto-hide, if the interface was currently still hidden, it wouldn't be restored, Closes ticket #6098.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@521 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:12 +02:00
stippi
4a09831444 When the expected size of a download is unknown, at least set the progress
bar to 100% when it finished.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@519 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
a933ccf28d When a download starts, do not start node monitoring the path while it is still
pointing to the containing folder. Fixes ticket #62.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@518 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
82117cd7eb Added "View->Page source" feature. For local files, it will open the file in the
preferred app for text/x-source-code. For remote pages, it will save a temporary
file and open the editor with that.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@517 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
807ee4b477 Revert the default of the Auto-hide mouse pointer setting, by popular request.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@515 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
3a3173e8cb Set a tool-tip for the area outside of any tabs.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@514 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
8a48f074d8 Handle B_RETURN and B_ESCAPE when the Find text control has focus. Refactored
the code to visibly invoke a BButton and use it to show the respective buttons
go down in the Find group.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@513 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
fb03e2c573 * When downloads are still in progress, warn the user when the app quits and
allow to continue downloading.
* If the Downloads window is the only window, minimize on close instead of
  hiding without any way to get the window back.
* Added menu item "New browser window" to Downloads window.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@512 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
02a2ef1969 * Small refactoring for retrieving the URL for a new tab.
* Load new files into the current tab, if the URL of that tab is either empty
  or the URL for new tabs, instead of always opening a new tab.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@511 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
11365e77e8 Added Home button... by popular request. Will perhaps make it a setting.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@510 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
795b44ebe6 F11 -> Toggle fullscreen
F5  ->  Reload page. (Ticket #56)

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@509 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
0953daf31f "Manage Bookmarks" shortcut is now Cmd-M. Closed ticket #38.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@508 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:11 +02:00
stippi
86007edfa7 Use Cmd-J for hiding the downloads window. (Ticket #37)
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@507 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
e979801bf7 Introduced --fullscreen and -f command line options.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@506 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
f94d5e2800 Don't store the last window frame with the full-screen window size...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@505 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
af7e6dd1a4 Display tool tips for browser tabs with the page title.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@504 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
402459960e Fix empty URL input bar when switching to a tab after it loaded in the
background.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@503 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
1f009b1e11 Tweaked the delays for the auto-hiding of the mouse pointer and the interface
in full-screen mode.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@502 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
37876e4b33 Extend the auto-completion framework in order to support using page-up/down
to navigate the choices list.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@501 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
90a69c8e1d The mechanism with which the TextViewCompleter detected changes (attaching a
BMessageFilter to the BTextView to pre-process key down events) missed changes
to the BTextView via other means, for example by pasting, or simply when
SetText() is invoked on the BTextView. -> Introduced an alternative method
of making the TextViewCompleter aware of changes, by invoking new method
TextModified(). To bypass the old method, one has to call
SetModificationsReported(true). URLInput::URLTextView now uses the new method
in InsertText() and DeleteText(), which catches any and all changes to the
text. Since the BAutoCompleter framework also controls the editor view contents,
it needs to protect against re-entering some methods when the editor view
reports the changes (fIgnoreEditViewStateChanges). Since we want the
BAutoCompleter to always be aware of the current editor view contents, but not
necessarily also running the choice mechanism (i.e. when you enter
"www.google.com", you don't want the auto-completion kick back in when it is
programmatically changed to "http://www.google.com" later on), the
EditViewStateChange() method gets a boolean now "updateChoices". All
programmatic changes to the URL will then not trigger displaying the choice
pop-up, but the BAutoCompleter is always aware of the current editor view
contents.

All this fixes numerous issues and inconsistencies with entering text in the
URL text view.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@500 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
eb44597cd0 Revert r250, since CMD-0 for changing to the tenth tab conflicts with the
shortcut for resetting the page zoom, but that is also an established shortcut
from Firefox.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@499 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
0e42079313 Remember the current URL input contents and selection when switching away from
a tab, and restore them when switching back.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@498 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
208ecbcad5 * Moved auto-hiding the mouse pointer into BWebView::Pulse().
* Unhide the interface when the user invokes CMD-L (Open location).
* Make sure the progress bar is really hidden, sometimes it would be
  visible again after unhiding the rest of the interface.
* Added a setting for the auto-hiding the mouse pointer feature. It defaults
  to true, since I think it's useful for an app where the pointer would
  usually be in the way.
* Hide the mouse pointer in any case as soon as the user begins typing, also
  hide potentially showing tool tips in that case.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@496 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:10 +02:00
stippi
59b99c1229 Upated to use new B_TRANSLATE macros. Rene also send me a patch for this
(thanks!), but I've redone it to keep the 80 char/line limit.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@493 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
17813bda8c Do not advertize support for types we don't actually support. These are handled
by the urlwrapper anyway.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@489 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
e07fc6b71d * Changed the implementation of context menus in DownloadProgressViews. The views
were intercepting mouse messages even if the window was not showing. Now
  secondary clicks are intercepted in DownloadWindow and the target view is found,
  which makes this much cheaper.
* Offset context menus by 2 pixels, so the mouse does not start directly over
  an item.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@488 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
e7c6e9f747 Reset the page icon in the URL input for new tabs.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@487 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
ea40bbf2d1 * Moved "Auto-hide" menu item into Settings window, as a check box along the
"show tabs if single page only" option.
* Fixed problems with showing tabs when opening new tabs while the interface
  was hidden. Introduced a new flag which tracks the hidden state to make
  this easier.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@486 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
c2227feb1e Implemented an "auto-hide the interface" feature for the full-screen mode. The
mouse cursor will automatically hide if you don't move it, unless it's over the
interface. The interface will disappear after three seconds if the cursor is
not above it. It will re-appear when you touch the top of the screen with the
mouse. I find this the best solution, since the mouse is also used for
navigation in the page, and showing the interface based on some virtual area
of the interface would just get in the way.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@485 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
c0f79c0321 Added button besides main menu bar which is only visible in fullscreen mode and
allows to go back to window'ed mode. The icon is the window icon which Deskbar
uses also.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@484 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:09 +02:00
stippi
095c4241ef Moved BitmapButton into it's own file.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@483 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:44:03 +02:00
stippi
f157030d2e Implemented most basic fullscreen feature.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@482 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:56 +02:00
stippi
9a6307059a Moved handling/display of "main site error" alert into client.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@481 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:56 +02:00
stippi
9adbaa4378 Removed unneeded headers.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@480 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:56 +02:00
stippi
27dab3e5fe Make sure never to draw the favicon too big, in case we only got a big one from
the page, and use the proper drawing mode and filtering.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@479 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:56 +02:00
stippi
9f30678a67 Implemented a CredentialsStorage class with optional persistency. Two global
objects are used for session and persistent storage of credentials with the
appropriate locking. Passwords are stored on disk insecurely. If the user
uses the checkmark in the authentication window to remember the credentials,
the persistent storage will be used, otherwise the session storage. In another
words, even if not asked to remember the credentials, the same user/pass never
needs to be entered more than once per session, unlike before. WebCore already
contains a CredentialStorage class, but we don't use it. It could be used via
the CURL networking backend implementation, only the CF backend uses it at all.
Since we don't have a "keyring" OS level service, this solution was more
convenient for the time being.

Note all this has nothing to do with storage of form data entered by the user.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@478 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:51 +02:00
stippi
ea992272d7 Added a few utility classes from Haiku. To be removed when WebPositive moves
into Haiku. Added new file HashKeys.h which implements commonly used HashKey
classes. Additionally to the ones found in HashMap.h, it has a HashKeyString
class, which wraps a BString and provides the GetHashCode() method.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@477 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:41 +02:00
stippi
1a2246ccf9 Avoid loading the start page before loading the requested URL in new windows
by passing the url to the constructor already.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@476 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:41 +02:00
stippi
d5c4471790 * Fixed double click outside tabs to only be recognized when the first click
was outside as well.
* Single tertiary click outside tabs opens new tab on mouse up.
* Reset fClickCount always when the click was inside a tab.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@474 94f232f2-1747-11df-bad5-a5bfde151594
2012-07-03 15:43:41 +02:00