[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 14:02:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit f732d1c13d58090f104fbdef81e19575a17990b9
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 1 20:05:16 2010 +0000
2010-10-01 Rafael Antognolli <antognolli at profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Call contents_resize when the main frame gets resized.
https://bugs.webkit.org/show_bug.cgi?id=47004
The previous implementation was just calling contents_resize when the
viewport size had changed. That's not enough, and contents_resize
shouldn't be called if the contents size didn't change.
Now the contents_size_changed function is called directly from the
ChromeClientEfl.
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::contentsSizeChanged):
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(_ewk_view_smart_calculate):
(ewk_view_fixed_layout_size_set):
(ewk_view_contents_size_changed):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
index 7659be0..8522612 100644
--- a/WebKit/efl/ChangeLog
+++ b/WebKit/efl/ChangeLog
@@ -1,3 +1,25 @@
+2010-10-01 Rafael Antognolli <antognolli at profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Call contents_resize when the main frame gets resized.
+ https://bugs.webkit.org/show_bug.cgi?id=47004
+
+ The previous implementation was just calling contents_resize when the
+ viewport size had changed. That's not enough, and contents_resize
+ shouldn't be called if the contents size didn't change.
+
+ Now the contents_size_changed function is called directly from the
+ ChromeClientEfl.
+
+ * WebCoreSupport/ChromeClientEfl.cpp:
+ (WebCore::ChromeClientEfl::contentsSizeChanged):
+ * ewk/ewk_private.h:
+ * ewk/ewk_view.cpp:
+ (_ewk_view_smart_calculate):
+ (ewk_view_fixed_layout_size_set):
+ (ewk_view_contents_size_changed):
+
2010-09-29 João Paulo Rechi Vita <jprvita at profusion.mobi>
Reviewed by Antonio Gomes.
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 21747a1..bd9e055 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -319,6 +319,8 @@ IntRect ChromeClientEfl::windowResizerRect() const
void ChromeClientEfl::contentsSizeChanged(Frame* frame, const IntSize& size) const
{
ewk_frame_contents_size_changed(kit(frame), size.width(), size.height());
+ if (ewk_view_frame_main_get(m_view) == kit(frame))
+ ewk_view_contents_size_changed(m_view, size.width(), size.height());
}
IntRect ChromeClientEfl::windowToScreen(const IntRect& rect) const
diff --git a/WebKit/efl/ewk/ewk_private.h b/WebKit/efl/ewk/ewk_private.h
index eaad13c..5b89b8c 100644
--- a/WebKit/efl/ewk/ewk_private.h
+++ b/WebKit/efl/ewk/ewk_private.h
@@ -150,6 +150,8 @@ WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* o, const W
Eina_Bool ewk_view_navigation_policy_decision(Evas_Object* o, Ewk_Frame_Resource_Request* request);
+void ewk_view_contents_size_changed(Evas_Object *o, Evas_Coord w, Evas_Coord h);
+
#ifdef __cplusplus
}
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index 19efbfa..3b93516 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -805,10 +805,6 @@ static void _ewk_view_smart_calculate(Evas_Object* o)
view->resize(w, h);
view->forceLayout();
view->adjustViewSize();
- IntSize size = view->contentsSize();
- if (!sd->api->contents_resize(sd, size.width(), size.height()))
- ERR("failed to resize contents to %dx%d",
- size.width(), size.height());
}
evas_object_resize(sd->main_frame, w, h);
sd->changed.frame_rect = EINA_TRUE;
@@ -4213,3 +4209,22 @@ Eina_Bool ewk_view_navigation_policy_decision(Evas_Object* o, Ewk_Frame_Resource
return sd->api->navigation_policy_decision(sd, request);
}
+
+/**
+ * @internal
+ * Reports that the contents have resized. The ewk_view calls contents_resize,
+ * which can be reimplemented as needed.
+ *
+ * @param o view.
+ * @param w new content width.
+ * @param h new content height.
+ */
+void ewk_view_contents_size_changed(Evas_Object *o, int w, int h)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(o, sd);
+ EINA_SAFETY_ON_NULL_RETURN(sd->api);
+ EINA_SAFETY_ON_NULL_RETURN(sd->api->contents_resize);
+
+ if (!sd->api->contents_resize(sd, w, h))
+ ERR("failed to resize contents to %dx%d", w, h);
+}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list