Title: [177701] trunk/Source/WebKit2
- Revision
- 177701
- Author
- [email protected]
- Date
- 2014-12-23 15:58:27 -0800 (Tue, 23 Dec 2014)
Log Message
Add WebProcessProxy::transformHandlesToObjects
https://bugs.webkit.org/show_bug.cgi?id=139922
Reviewed by Tim Horton.
This will be used to convert between the handles and their respective UI side objects.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted.
* UIProcess/WebProcessProxy.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (177700 => 177701)
--- trunk/Source/WebKit2/ChangeLog 2014-12-23 23:35:33 UTC (rev 177700)
+++ trunk/Source/WebKit2/ChangeLog 2014-12-23 23:58:27 UTC (rev 177701)
@@ -1,5 +1,20 @@
2014-12-23 Anders Carlsson <[email protected]>
+ Add WebProcessProxy::transformHandlesToObjects
+ https://bugs.webkit.org/show_bug.cgi?id=139922
+
+ Reviewed by Tim Horton.
+
+ This will be used to convert between the handles and their respective UI side objects.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::transformHandlesToObjects):
+ (WebKit::WebProcessProxy::transformObjectsToHandles):
+ (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted.
+ * UIProcess/WebProcessProxy.h:
+
+2014-12-23 Anders Carlsson <[email protected]>
+
Add handle transform functions to WebConnection
https://bugs.webkit.org/show_bug.cgi?id=139920
Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (177700 => 177701)
--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2014-12-23 23:35:33 UTC (rev 177700)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2014-12-23 23:58:27 UTC (rev 177701)
@@ -650,12 +650,56 @@
++m_numberOfTimesSuddenTerminationWasDisabled;
}
-RefPtr<API::Object> WebProcessProxy::apiObjectByConvertingToHandles(API::Object* object)
+RefPtr<API::Object> WebProcessProxy::transformHandlesToObjects(API::Object* object)
{
- struct Transformer : UserData::Transformer {
+ struct Transformer final : UserData::Transformer {
+ Transformer(WebProcessProxy& webProcessProxy)
+ : m_webProcessProxy(webProcessProxy)
+ {
+ }
+
virtual bool shouldTransformObjectOfType(API::Object::Type type) const
{
switch (type) {
+ case API::Object::Type::FrameHandle:
+ case API::Object::Type::PageHandle:
+ case API::Object::Type::PageGroupHandle:
+ return true;
+
+ default:
+ return false;
+ }
+ }
+
+ virtual RefPtr<API::Object> transformObject(API::Object& object) const override
+ {
+ switch (object.type()) {
+ case API::Object::Type::FrameHandle:
+ return m_webProcessProxy.webFrame(static_cast<API::FrameHandle&>(object).frameID());
+
+ case API::Object::Type::PageGroupHandle:
+ return WebPageGroup::get(static_cast<API::PageGroupHandle&>(object).webPageGroupData().pageGroupID);
+
+ case API::Object::Type::PageHandle:
+ return m_webProcessProxy.webPage(static_cast<API::PageHandle&>(object).pageID());
+
+ default:
+ return &object;
+ }
+ }
+
+ WebProcessProxy& m_webProcessProxy;
+ };
+
+ return UserData::transform(object, Transformer(*this));
+}
+
+RefPtr<API::Object> WebProcessProxy::transformObjectsToHandles(API::Object* object)
+{
+ struct Transformer final : UserData::Transformer {
+ virtual bool shouldTransformObjectOfType(API::Object::Type type) const
+ {
+ switch (type) {
case API::Object::Type::Frame:
case API::Object::Type::Page:
case API::Object::Type::PageGroup:
@@ -669,20 +713,14 @@
virtual RefPtr<API::Object> transformObject(API::Object& object) const override
{
switch (object.type()) {
- case API::Object::Type::Frame: {
- auto& frame = static_cast<const WebFrameProxy&>(object);
- return API::FrameHandle::create(frame.frameID());
- }
+ case API::Object::Type::Frame:
+ return API::FrameHandle::create(static_cast<const WebFrameProxy&>(object).frameID());
- case API::Object::Type::Page: {
- auto& page = static_cast<const WebPageProxy&>(object);
- return API::PageHandle::create(page.pageID());
- }
+ case API::Object::Type::Page:
+ return API::PageHandle::create(static_cast<const WebPageProxy&>(object).pageID());
- case API::Object::Type::PageGroup: {
- auto& pageGroup = static_cast<const WebPageGroup&>(object);
- return API::PageGroupHandle::create(WebPageGroupData(pageGroup.data()));
- }
+ case API::Object::Type::PageGroup:
+ return API::PageGroupHandle::create(WebPageGroupData(static_cast<const WebPageGroup&>(object).data()));
default:
return &object;
Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.h (177700 => 177701)
--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.h 2014-12-23 23:35:33 UTC (rev 177700)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.h 2014-12-23 23:58:27 UTC (rev 177701)
@@ -126,7 +126,8 @@
void requestTermination();
- RefPtr<API::Object> apiObjectByConvertingToHandles(API::Object*);
+ RefPtr<API::Object> transformHandlesToObjects(API::Object*);
+ RefPtr<API::Object> transformObjectsToHandles(API::Object*);
void windowServerConnectionStateChanged();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes