Label and trailing label are only specified in the constructor or in Reset().
By using SetText(), we were modifying another part of the text, while we meant
to set the label. This fixes updates on node monitor messages.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@472 94f232f2-1747-11df-bad5-a5bfde151594
true, we need to recheck it in MouseUp(). This would fix the problem with the
middle mouse button click to close tabs if we didn't move closing to the mouse
up event, and it also fixes other situations, like clicking on one tab, moving
the mouse over another tab's close button, releasing the mouse and clicking
again without moving it inbetween.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@471 94f232f2-1747-11df-bad5-a5bfde151594
would be true, but the fLastMouseEventTab would have been reset when removing
the tab. Rather than fixing this problem, behave the same as Firefox and close
the tab on mouse up (when the mouse is still over the tab, which allows the
user a way back out). Avoids the above problem as a side effect.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@469 94f232f2-1747-11df-bad5-a5bfde151594
* Added necessary wiring in BWebSettings for proxy server configuration.
Actual proxy server usage untested, feedback welcome.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@468 94f232f2-1747-11df-bad5-a5bfde151594
* Icon view needs to update completely on resize.
-> Fixes graphics glitch when switching between icon and no icon.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@467 94f232f2-1747-11df-bad5-a5bfde151594
meant CurrentWebView(). This also fixed the focus restoration, since it
remembered the current focus for the wrong web view when the user data was
already stored.
* Refactored _TabChanged() so that this code is now executed in the now
virtual SetCurrentWebView(), which makes the features also work for new tabs.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@466 94f232f2-1747-11df-bad5-a5bfde151594
used to it, but also when only one page is open and tabs are not displayed as
per the user settings, the favicon would then not be visible.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@465 94f232f2-1747-11df-bad5-a5bfde151594
* Refactored setting the page icon so it always goes through the new
BrowserWindow::_SetPageIcon().
* Don't replace the PageUserData in _TabChanged() if it already exists
(which would forget the favicon).
* Write the favicon to the Bookmark file. At the moment, it writes the
32x32 icon as upscaled version of the 16x16 icon. Color reduction makes
the icons look not so nice, since Haiku does not yet support PNG icons...
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@464 94f232f2-1747-11df-bad5-a5bfde151594
not really useful. Neither is claiming support for text/*. Added support for
image/svg+xml, since I don't think anything else would handle it as good as
WebPositive (which will do better once BView supports affine transformations).
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@462 94f232f2-1747-11df-bad5-a5bfde151594
SettingsWindow::_RevertSettings().
* Made all necessary refactoring in order to support _CanApplySettings().
* Adjust the Apply and Revert button enabled state whenever settings change.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@458 94f232f2-1747-11df-bad5-a5bfde151594
* Allow specifying a start and a search page in the Settings window.
* Separated the "New page" policy into "New window" and "New tab" policies.
For a new window, the user can chose to "Open start page", "Open search page"
and "Open blank page". The default changed to "Open start page" and the
default start page points to the "Welcome" readme. For new tabs, there is
an additional choice "Clone current page". The default stayed with opening
a blank page.
* Implemented the new page policies in BrowserWindow.
* Listen for changes of the new settings in BrowserWindow.
* Added the new settings keys and default values to SettingsKeys.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@456 94f232f2-1747-11df-bad5-a5bfde151594
since we did not delete the BWebView directly, but in the application thread,
this was a race condition that would only crash sometimes (in _TabChanged(),
when we tried to attach user data to the current tab before switching it). This
should fix the last known (to me) crash.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@452 94f232f2-1747-11df-bad5-a5bfde151594
into the text view, so the user can continue typing from that choice, or modify
it. For example, one can type "dev.haiku-os.org", select a choice
"http://dev.haiku-os.org/ticket/1234" and then replace just the last chunk with
another ticket number and press enter.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@447 94f232f2-1747-11df-bad5-a5bfde151594
need to always enable the standard shortcut items in MenusBeginning(), if we
would otherwise enable them only asynchronously. Fixes Cut/Copy/Paste via
shortcuts.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@443 94f232f2-1747-11df-bad5-a5bfde151594
This needs to be asynchronous, as always. BrowserWindow asks when menus are
opened, but the result arrives so fast, that the user never sees invalid
items. The Cut/Copy/Paste items are now always enabled according to what's
currently really possible.
* Enable and disable the Back/Forward History menu items along with the buttons.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@436 94f232f2-1747-11df-bad5-a5bfde151594
* Added Cut/Copy/Paste items. Enabled status is updated when a text view has
focus, but not yet with the selection of the BWebView, when that has focus.
* Dispatch B_CUT/COPY/PASTE either to a focused BTextView or to the BWebView.
* Enable the Find next/previous items according to contents of the Find text
input.
* Refactored MenusBeginning() hook.
* Renamed Go menu to History.
* Added Back/Forward menu items to History menu, now the shortcuts are visible.
(Command key plus cursor left/right)
* Added Reload item to View menu, now that shortcut is visible too.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@435 94f232f2-1747-11df-bad5-a5bfde151594
* Split WebTabView into several files in a new sub-folder "tabview".
* Implemented scrolling the tab view left/right when there are more tabs than
fit into the view.
* Fixed graphic glitches in the TabContainerView when the window is resized,
the space behind the last tab was not managed properly.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@416 94f232f2-1747-11df-bad5-a5bfde151594
supposed to allow specifying whether the new window/page shall be activated
or not.
* In ContextMenuController, when creating a new page from a link, specify that
it shall not be activated.
* Handle the new flag in the WebKit layer.
-> "Open link in tab" from the context menu no longer selects the new tab, but
opens it "in the background".
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@414 94f232f2-1747-11df-bad5-a5bfde151594
to just the part that describes the modifier keys in general. What's left should
be exactly B_COMMAND_KEY. This fixes the workspace switching short-cut to trigger
page history navigation WebPositive.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@408 94f232f2-1747-11df-bad5-a5bfde151594
* Added a context menu to the URL input for integration with the system
clipboard when you want to use the mouse only.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@403 94f232f2-1747-11df-bad5-a5bfde151594
works with the BTextView.
* Factored out the URL text handling into a new class URLInputGroup, which is
used instead of a plain BTextControl, but currently works much the same way.
It's a BGroupView though and allows easy addition of other controls and items
into the URL text field.
* Moved baseURL() method into it's own file, since it's used from multiple
places now.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@402 94f232f2-1747-11df-bad5-a5bfde151594
all. Open a blank page if no pages have been created from the arguments passed
to the application.
* If no pages have been created yet, don't offset the last known window frame.
This fixes windows shifting over the screen from session to session.
git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@397 94f232f2-1747-11df-bad5-a5bfde151594
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
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
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
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
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
* 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
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
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
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
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
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
* 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
* 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
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
* 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
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
* 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
* 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
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
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