WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
58502
Highly experimental fullscreen implementation for Chromium
https://bugs.webkit.org/show_bug.cgi?id=58502
Summary
Highly experimental fullscreen implementation for Chromium
Andrew Scherkus
Reported
2011-04-13 18:38:56 PDT
Highly experimental fullscreen implementation for Chromium
Attachments
Patch
(26.14 KB, patch)
2011-04-13 18:39 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Patch
(29.95 KB, patch)
2011-04-14 14:52 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Patch
(26.92 KB, patch)
2011-04-14 18:08 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Patch
(64.60 KB, patch)
2011-04-20 17:53 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Less crazy active WebWidgetClient patch
(28.87 KB, patch)
2011-06-29 17:16 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Crazy view/widget split patch
(65.46 KB, patch)
2011-06-29 17:42 PDT
,
Andrew Scherkus
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Andrew Scherkus
Comment 1
2011-04-13 18:39:31 PDT
Created
attachment 89512
[details]
Patch
Andrew Scherkus
Comment 2
2011-04-14 14:52:44 PDT
Created
attachment 89658
[details]
Patch
Andrew Scherkus
Comment 3
2011-04-14 18:08:15 PDT
Created
attachment 89709
[details]
Patch
Andrew Scherkus
Comment 4
2011-04-14 18:10:16 PDT
Applied a tiny bit of darin's patch to ChromeClientImpl for paints/scrolls and now WebViewImpl swaps between m_client and m_fullscreen->client() as needed.
Darin Fisher (:fishd, Google)
Comment 5
2011-04-15 10:24:15 PDT
Comment on
attachment 89709
[details]
Patch Looking better...
Andrew Scherkus
Comment 6
2011-04-20 17:53:43 PDT
Created
attachment 90461
[details]
Patch
Andrew Scherkus
Comment 7
2011-04-20 18:26:39 PDT
Alright in this latest patch I experimented with seeing what would happen if we forced all existing users of WebViewImpl::client() to explicitly use WebWidgetClient or WebViewClient -- in effect simulating what would happen if WebViewClient didn't inherit from WebWidgetClient. I changed the method names so I could see which classes use WebWidgetClient as opposed to WebViewClient, etc etc Result: works ok -- cursors get properly set, invalidations work, etc... Also in this version WebFullscreenWidgetImpl is a pure delegate to the existing WebViewImpl meaning we might be able to do without it. Basically I wonder if we can get to the point where we have the following set of objects to play with: - ChromeClientImpl (implements ChromeClient) - RenderView (implements WebViewClient) - RenderWidget (implements WebWidgetClient) - RenderFullscreenWidget (implements WebWidgetClient) - WebViewImpl (implements WebView) If we allowed swapping WebWidgets on WebWidgetClients at run-time (as opposed to creation time), we could do some neat tricks where we point the existing RenderWidget to a NULL/fake WebWidget (so the old HWND doesn't try to render stuff), then swap in the existing WebViewImpl into the RenderFullscreenWidget -- avoiding the need for having WebFullscreenWidgetImpl. I'm a bit worried about having both RenderWidget/View and RenderWidgetFullscreen point at the same WebViewImpl. Again this is all new ground for me so happy to discuss in person!
Andrew Scherkus
Comment 8
2011-06-29 17:16:38 PDT
Created
attachment 99187
[details]
Less crazy active WebWidgetClient patch Updated to work on trunk
WebKit Review Bot
Comment 9
2011-06-29 17:18:12 PDT
Attachment 99187
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit/chromium/ChangeLog', u'Sourc..." exit_code: 1 Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:38: Missing space before { [whitespace/braces] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:58: The parameter name "canvas" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:58: The parameter name "rect" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:75: The parameter name "direction" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:85: One space before end of line comments [whitespace/comments] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.h:88: The parameter name "client" adds no information, so it should be removed. [readability/parameter_name] [5] Source/WebKit/chromium/src/WebViewImpl.cpp:2692: WebViewImpl::active_client is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/WebKit/chromium/src/WebViewImpl.h:457: active_client is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/WebKit/chromium/src/WebViewImpl.h:593: One space before end of line comments [whitespace/comments] [5] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.cpp:36: Alphabetical sorting problem. [build/include_order] [4] Source/WebKit/chromium/src/WebFullscreenWidgetImpl.cpp:84: One space before end of line comments [whitespace/comments] [5] Total errors found: 11 in 11 files If any of these errors are false positives, please file a bug against check-webkit-style.
Andrew Scherkus
Comment 10
2011-06-29 17:42:15 PDT
Created
attachment 99194
[details]
Crazy view/widget split patch Crazy view/widget split patch
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug