RESOLVED FIXED 37419
[Haiku] Fix bridging Widget to native top-level BView.
https://bugs.webkit.org/show_bug.cgi?id=37419
Summary [Haiku] Fix bridging Widget to native top-level BView.
Stephan Aßmus
Reported 2010-04-11 15:45:04 PDT
In the Haiku port, there is no mapping between native widgets and WebCore Widget instances. There is only a top-level BView which renders a web page into a bitmap. For certain WebCore widget functionality, we need to access this BView, like for setting the current cursor or forcing focus. On the other hand, setting a platform widget pointer on Widget results into completely different behavior, like ScrollView tries to forward everything instead of handling stuff itself. To make this work, the pointer to a "top-level" BView is stored in every Widget for the Haiku port.
Attachments
[Haiku] Fix bridging to top-level platform widget. (7.80 KB, patch)
2010-04-11 15:46 PDT, Stephan Aßmus
no flags
[Haiku] Fix bridging to top-level platform widget. (7.99 KB, patch)
2010-04-11 16:45 PDT, Stephan Aßmus
levin: review-
[Haiku] Fix bridging to top-level platform widget. (7.99 KB, patch)
2010-04-13 08:47 PDT, Stephan Aßmus
no flags
Stephan Aßmus
Comment 1 2010-04-11 15:46:14 PDT
Created attachment 53115 [details] [Haiku] Fix bridging to top-level platform widget.
WebKit Review Bot
Comment 2 2010-04-11 15:50:43 PDT
Attachment 53115 [details] did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 WebCore/platform/haiku/WidgetHaiku.cpp:43: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:44: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:49: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:50: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:55: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:100: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/haiku/WidgetHaiku.cpp:111: Tab found; better to use spaces [whitespace/tab] [1] Total errors found: 7 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
Stephan Aßmus
Comment 3 2010-04-11 16:45:25 PDT
Created attachment 53118 [details] [Haiku] Fix bridging to top-level platform widget. Sorry about the tabs. Got confused which files I already ran check-webkit-style on...
David Levin
Comment 4 2010-04-13 08:15:07 PDT
Comment on attachment 53118 [details] [Haiku] Fix bridging to top-level platform widget. > Index: WebCore/platform/haiku/WidgetHaiku.cpp > + if (!m_widget || m_widget->LockLooperWithTimeout(5000) != B_OK) > + m_widget = 0; Your indent is off by one here.
Stephan Aßmus
Comment 5 2010-04-13 08:47:26 PDT
Created attachment 53256 [details] [Haiku] Fix bridging to top-level platform widget. Fixed the patch in place (and looked for similar problems).
WebKit Commit Bot
Comment 6 2010-04-13 10:20:51 PDT
Comment on attachment 53256 [details] [Haiku] Fix bridging to top-level platform widget. Clearing flags on attachment: 53256 Committed r57521: <http://trac.webkit.org/changeset/57521>
WebKit Commit Bot
Comment 7 2010-04-13 10:20:56 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.