There is an issue while changing view's size and changing fixed layout size in event view:EVAS_CALLBACK_RESIZE. The result was that scrollbar's max position was not calculated properly. Basically ewk_view_fixed_layout_size_set() was triggering smart_calculate() in the backing store while FrameView did not have visible content size updated yet, so the scrollbar's max positions were computed incorrectly. If we call ewk_view_fixed_layout_size_set() from the new callback, then the issue does not exist, because FrameView's visible content size is updated right before the callback function is called. Thanks, Miroslaw
Created attachment 64959 [details] New callback for view size changed
Attachment 64959 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1 WebKit/efl/ewk/ewk_view.cpp:797: Use 0 instead of NULL. [readability/null] [5] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 64960 [details] New callback for view size changed
Comment on attachment 64960 [details] New callback for view size changed > diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog > index de65885..2887fd4 100644 > --- a/WebKit/efl/ChangeLog > +++ b/WebKit/efl/ChangeLog > @@ -1,3 +1,13 @@ > +2010-08-20 Miroslaw Szymanski <miroslaw.s@samsung.com> > + > + Reviewed by NOBODY (OOPS!). > + > + [EFL] Added new callback when view's size is changed to fix issue with changing layout size > + https://bugs.webkit.org/show_bug.cgi?id=44337 > + > + * ewk/ewk_view.cpp: > + (_ewk_view_smart_calculate): > + > 2010-08-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> > > Reviewed by Antonio Gomes. > diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp > index 7a98bac..5e19386 100644 > --- a/WebKit/efl/ewk/ewk_view.cpp > +++ b/WebKit/efl/ewk/ewk_view.cpp > @@ -792,6 +792,9 @@ static void _ewk_view_smart_calculate(Evas_Object* o) > sd->changed.frame_rect = EINA_TRUE; > sd->view.w = w; > sd->view.h = h; > + > + // This callback is a good place e.g. to change fixed layout size (ewk_view_fixed_layout_size_set) > + evas_object_smart_callback_call(o, "view,resized", 0); > } > sd->changed.size = EINA_FALSE; > lgtm, except by the fact it's missing the documentation about the signal emitted. Please, fill the doc in ewk_view.h
Comment on attachment 64960 [details] New callback for view size changed > diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog > index de65885..2887fd4 100644 > --- a/WebKit/efl/ChangeLog > +++ b/WebKit/efl/ChangeLog > @@ -1,3 +1,13 @@ > +2010-08-20 Miroslaw Szymanski <miroslaw.s@samsung.com> > + > + Reviewed by NOBODY (OOPS!). > + > + [EFL] Added new callback when view's size is changed to fix issue with changing layout size > + https://bugs.webkit.org/show_bug.cgi?id=44337 > + > + * ewk/ewk_view.cpp: > + (_ewk_view_smart_calculate): > + > 2010-08-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> > > Reviewed by Antonio Gomes. > diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp > index 7a98bac..5e19386 100644 > --- a/WebKit/efl/ewk/ewk_view.cpp > +++ b/WebKit/efl/ewk/ewk_view.cpp > @@ -792,6 +792,9 @@ static void _ewk_view_smart_calculate(Evas_Object* o) > sd->changed.frame_rect = EINA_TRUE; > sd->view.w = w; > sd->view.h = h; > + > + // This callback is a good place e.g. to change fixed layout size (ewk_view_fixed_layout_size_set) And also this minor issue: comments must start with a capital letter and finish with a dot.
Mirek Szymanski are you going to upload a new patch with comments addressed?
Created attachment 65552 [details] New callback for view size changed Thank you for comments. I've updated the patch.
lgtm. You have my informal r+.
Comment on attachment 65552 [details] New callback for view size changed Clearing flags on attachment: 65552 Committed r66111: <http://trac.webkit.org/changeset/66111>
All reviewed patches have been landed. Closing bug.