1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-15 09:42:10 +00:00
Commit graph

277 commits

Author SHA1 Message Date
Karol Kosek
5c4d130af5 Browser: Make Refresh action in tab context menu refresh the chosen tab
It was sending refresh requests to the current tab instead.
2022-08-07 20:49:45 +02:00
Karol Kosek
0db481c763 Browser: Make the bookmark button use an action
This merges 2 duplicated definitions (one for button, second just for
the keyboard shortcut) which also makes the button 'react' on that
shortcut. :^)
2022-08-07 20:49:45 +02:00
Karol Kosek
3b5766d078 Browser: Show bookmark and history page lists under the their buttons
Previously they were showing right under the cursor.
2022-08-07 20:49:45 +02:00
Karol Kosek
8f5968d4ad Browser: Set margins for BookmarkBarWidget
It's just what GUI::Toolbar is using. Changed this to make the bookmark
overflow button align with the bookmark button.
2022-08-07 20:49:45 +02:00
Karol Kosek
d80bc2ba32 Browser: Use overflow-menu icon for hidden bookmarks the button
97b381652a started using that icon for toolbars. Let's also use it here
for the sweet system consistency!
2022-08-07 20:49:45 +02:00
networkException
f722612e17 Browser: Set preferred color scheme when constructing a tab
Previously we would only tell OutOfProcessWebView about the preferred
color scheme when changing it in the browser's settings.

This patch implements reading in the current config value to set the
scheme immediately :^)

See SerenityOS update (July 2022) https://youtu.be/aO0b2X7tzuk?t=2171
2022-08-01 00:20:43 +02:00
Sam Atkins
0fcb6920e3 Browser: Give BookmarksBarWidget a minimum size
Without this, it gets a minimum size that's very large and stops you
from resizing the Browser window narrower than 609px.
2022-07-27 00:01:42 +01:00
networkException
101c5566cb Browser: Make "Go Home" open a new tab on middle mouse click 2022-07-14 13:17:33 +02:00
networkException
6cd82f0100 Browser: Allow opening bookmarks in new tab on middle mouse click
This patch updates all bookmark buttons to allow middle mouse button
pressing and respond to a middle mouse click by opening the url in a new
tab.
2022-07-14 13:17:33 +02:00
networkException
5c1f1209fc Browser: Use OpenInNewTab parameter in on_bookmark_click handler
This patch makes the function signature of the on_bookmark_click handler
more readable by replacing `Mod_None` with `OpenInNewTab::No` and
`Mod_Ctrl` with `OpenInNewTab::Yes`.
2022-07-14 13:17:33 +02:00
sin-ack
3f3f45580a Everywhere: Add sv suffix to strings relying on StringView(char const*)
Each of these strings would previously rely on StringView's char const*
constructor overload, which would call __builtin_strlen on the string.
Since we now have operator ""sv, we can replace these with much simpler
versions. This opens the door to being able to remove
StringView(char const*).

No functional changes.
2022-07-12 23:11:35 +02:00
DexesTTP
7ceeb74535 AK: Use an enum instead of a bool for String::replace(all_occurences)
This commit has no behavior changes.

In particular, this does not fix any of the wrong uses of the previous
default parameter (which used to be 'false', meaning "only replace the
first occurence in the string"). It simply replaces the default uses by
String::replace(..., ReplaceMode::FirstOnly), leaving them incorrect.
2022-07-06 11:12:45 +02:00
MacDue
3294753d6c Browser+WebContent: Fix inspecting non-visible nodes
I already fixed the crash from this in #14470, but didn't fully fix
the issue. Currently the browser just avoids sending the
inspect_dom_node() IPC call for non-visible nodes.

The main problem with this is it means the browser keeps displaying
the overlay for the previously selected node. This commit fixes
the crash in the WebContent side, so the IPC call can still be made
and the selection correctly updated.
2022-07-05 13:09:11 +02:00
MacDue
95e6e3be74 Browser: Fix crash if clicking on non-visible nodes in the inspector
If you attempt to inspect a non-visible dom node it will hit
various assertions as things like style have not been computed.

With this change attempting to inspect these nodes will simply
clear the style and box model tabs.
2022-07-03 20:45:11 +02:00
Lucas CHOLLET
662711fa26 Browser+LibWeb+WebContent: Allow Browser to load local files
To achieve this goal:
 - The Browser unveils "/tmp/portal/filesystemaccess"
 - Pass the page through LoadRequest => ResourceLoader
 - ResourceLoader requests a file to the FileSystemAccessServer via IPC
 - OutOfProcessWebView handles it and sends a file descriptor back to
 the Page.
2022-06-27 20:22:15 +01:00
Xexxa
b691269912 Base+Browser+BrowserSettings: Add default page for new tab 2022-06-26 22:18:30 +01:00
Xexxa
6571455499 Browser+BrowserSettings: Add preference for new tab 2022-06-26 22:18:30 +01:00
networkException
52ee5026ea LibGUI+Browser: Fix crash when activating a "Tab n" action
Previously we would try setting the tab index regardless if that tab
actually existed, resulting in Browser crashing by either pressing
Control + N or using the CommandPalette.
2022-06-05 13:46:52 +01:00
Karol Kosek
9f1f1b8472 Userland: Use default buttons instead of manually handling return press
Besides simplifying the code, this will also draw outline for these
buttons as a cue for a user!
2022-06-02 22:33:00 +02:00
networkException
d034675032 Browser: Always show menu for additional bookmarks when one is hidden
This patch fixes the additional bookmarks menu button getting pushed all
they way to the right until a bookmark is out of bounds of the bar by
instead collapsing a bookmark into the menu as soon as it intersects
with the additional button.
2022-05-30 17:33:11 +01:00
Rafał Babiarz
b162b7eec6 Browser+LibWeb+WebContent: Add ability to inspect session storage 2022-05-28 23:54:06 +01:00
Karol Kosek
d8862853bb Browser: Depend on BrowserSettings
The app refused to run in the Required+Browser system configuration,
because unveil was angry that BrowserSettings wasn't being installed.
2022-05-26 21:54:58 +01:00
MacDue
7c8541b914 Userland: Use GUI::Process::spawn_or_show_error() for spawn() from a GUI 2022-05-25 23:14:22 +01:00
MacDue
3fc0350caf LibCore: Return ErrorOr<pid_t> and support arguments in Process::spawn
This makes the wrapper more like the rest in LibCore, and also
removes the annoying limitation of not supporting arguments.

There are three overloads one for String, char const *, and StringView
argument lists. As long as there are <= 10 arguments the argv list
will be allocated inline, otherwise on the heap.
2022-05-25 23:14:22 +01:00
Cameron Youell
df7fd39fcc Browser: Allow usage of vertical tabs
Add implementation of vertical tabs into the browser,
with the new `Ctrl + ,` shortcut, or within the View Options
2022-05-21 22:25:16 +02:00
DexesTTP
c00ae53b66 LibWeb: Abstract the LibProtocol ResourceLoader connection
This is the final component that required LibProtocol as a dependency
of LibWeb. With this, we can now remove the dependency, and LibWeb no
longer requires IPC to work :^)
2022-05-15 12:17:36 +02:00
DexesTTP
962040b49c LibWebView: Move StylePropertiesModel to LibWebView
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
DexesTTP
b797e1e2b9 LibWebView: Move DOMTreeModel to LibWebView
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
DexesTTP
dcbbbf5b4a LibWebView: Move OutOfProcessWebView to a new LibWebView library
Also moves WebContentClient and the references to the generated IPC
descriptions, since they are all components of OutOfProcessWebView.

This patch has no functional changes.
2022-05-15 12:17:36 +02:00
Sam Atkins
cdffe556c8 LibGUI+Userland: Make Dialog::ExecResult an enum class 2022-05-13 16:27:43 +02:00
Sam Atkins
84b98da259 Userland: Set tab-widget properties in GML instead of code 2022-05-11 20:16:43 +02:00
Rafał Babiarz
6463bc7eb3 Browser: Add option to filter entries in Storage Inspector 2022-05-07 20:09:53 +02:00
MacDue
bf30348f88 Browser: Remove STL utility include from CookiesModel
This broke clang builds
2022-05-06 13:11:09 +02:00
networkException
f3f19f8321 Browser: Consolidate StorageWidget tabs into a single gml file
This patch removes the separate CookiesTab.gml file used to define the
layout of the cookies and local storage tabs and moves those defintions
into the StorageWidget.gml file.
2022-05-05 21:57:39 +02:00
Rafał Babiarz
ac991b0a89 Browser: Set all cookies at once instead adding them separately 2022-05-05 21:54:38 +02:00
Rafał Babiarz
dc66d16dc2 Browser: Rename "on_want_cookies" to match local storage equivalent 2022-05-05 21:54:38 +02:00
Karol Kosek
272cf3cbd5 Browser: Set an icon for the 'Edit Bookmark' Dialog 2022-05-04 23:22:10 +02:00
Sam Atkins
73552c1856 Userland: Always construct Application with try_create() 2022-04-18 12:57:34 +02:00
Sam Atkins
d564cf1e89 LibCore+Everywhere: Make Core::Stream read_line() return StringView
Similar reasoning to making Core::Stream::read() return Bytes, except
that every user of read_line() creates a StringView from the result, so
let's just return one right away.
2022-04-16 13:27:51 -04:00
Simon Wanner
206d6ece55 LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
Ali Mohammad Pur
a42e03b01a Browser+LibWeb+WebContent: Implement per-URL-pattern proxies
...at least for SOCKS5.
2022-04-09 12:21:43 +02:00
Ali Mohammad Pur
45867435c4 RequestServer+LibProtocol: Allow users to specify a per-request proxy 2022-04-09 12:21:43 +02:00
Andreas Kling
06d97c892b LibWeb+Browser: Remove Web::WebViewHooks class
This was a mixin class that allowed sharing a set of hooks between
InProcessWebView and OutOfProcessWebView. Now that there is only OOPWV,
we don't need the mixin.
2022-04-06 19:35:08 +02:00
Valtteri Koskivuori
45a81f5a2c Browser+LibWeb+WebContent: Add ability to inspect local storage
The storage inspector now has a new tab for local storage. The next step
would be to persist local storage and receive real-time notifications
for changes to update the table view.
2022-04-03 13:13:10 +01:00
Olivier De Cannière
3818840ee6 Browser: Add Ctrl-<number> actions to changes tabs
It is now possible to quickly switch to specific tabs directly without
having to 'search linearly'.

Pressing Ctrl plus a number from 1 to 8 switches to the tab of that
index. Pressing Ctrl-9 swithes to the last tab.

This feature already exists in Firefox and Chrome.
2022-04-02 23:38:32 +02:00
Idan Horowitz
086969277e Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Linus Groh
04e40b7aaa Browser+WebContent: Add a Debug menu action to disable scripting :^) 2022-03-31 17:08:38 +02:00
Jelle Raaijmakers
02e2f11380 Browser: Make storage inspector columns sortable 2022-03-29 23:51:47 +01:00
Jelle Raaijmakers
62fbf282b1 Browser: Reorder storage inspector columns
Show "domain" and "path" as the first two columns. Since we're showing
all cookies for all domains and all paths, you will probably want to
see the domain and path before the actual cookie name and value.
2022-03-29 23:51:47 +01:00
Andreas Kling
80f1749196 Browser: Make the main browser window a little bit bigger by default 2022-03-26 20:49:42 +01:00