Hi, I've ported Chromium M39 to 4.4 using WebView.

The main modifications are:

  1. I changed AwContents::RequestDrawGL to call AwContents::DrawGL directly using Process-Sync mode when canvas input is NULL
  2. Android 4.4 seems to have only Draw mode DrawGL call, so I added Process-Sync mode call in DrawGLFunctor::operator()
  3. I changed 5 ".Wait()" calls in InProcessCommandBuffer class implementations to let it pass through when on 4.4 and in UI thread
  4. I also fixed the InProcessCommandBuffer::PerformIdleWork() deadlock problem


     in some situcations AwContents::RequestDrawGL is not called from inside of OnDraw, and IPCB::PerformIdleWork() recursively calls itself, whose AutoLock causes deadlock.

It now runs fluently on Nexus 4, but has a problem on a special Mobile Phone, which is using Android 4.4.2 and 1920x1080p screen.

The problem is, when browsing http://tieba.baidu.com/ ,

  1. It initially loads page and displays OK
  2. when i `slowly` scrolls the page up-down, some of the page content which should slide in at once, but just delays 2~3s to display
  3. when i `fastly` flips the page up-down, the upper side and bottom side of content becomes blank-white, no displaying back

I also test it on 2 other 1080p-screen mobile phones, there is no such problems.

Can any one help with this problem, I can imagine some causes, but I'm not familiar with android-chromium graphics stack:

  1. Does this relate to the problematic `1080p` phone, or is there any roots in tiling or OpenGL ES graphics driver?

  2. Maybe WebKit/Bink core does not paint the part, or cc compositor does not do the duty of compositing work?

Thanks very much!

PS: Hi baoliu, you have said the work porting Chromium M38+ to Android 4.4 is not supported by Google officially, But hope to hear your wise judgement.

The problematic URL is: http://tieba.baidu.com/?page=discovery

On Desktop Chrome, F12 to open developer console, then choose Nexus 5 as simulator.



I find the top TAB div element switches between



<div class="tab_head tab_index_head j_tab_index_head blue_kit light_tab_head tab_index_head_clone" style="display: -webkit-box;
opacity: 1;">  ...



and



<div class="tab_head tab_index_head j_tab_index_head blue_kit light_tab_head tab_index_head_clone" style="display: -webkit-box;
opacity: 0;">

A mail sent to Google chromium.org Groups for Help的更多相关文章

  1. CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium

    CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报  分类: CEF(2)    目录(?)[+]   ...

  2. Chromium Embedded Framework 中文文档(简介)

    转自:http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html 简介 Chromium Embedded Framework ...

  3. 【转载】google搜索从入门到精通

    原文地址:http://www.cnblogs.com/helloIT/articles/5095668.html /***************************************** ...

  4. Delphi中Chrome Chromium、Cef3学习笔记(一)

    原文   http://blog.csdn.net/xtfnpgy/article/details/46635225   官方下载地址:https://cefbuilds.com/ CEF简介: 嵌入 ...

  5. [开源]Google code Android开源项目(一)

    [Android分享] [开源]Google code Android开源项目(一) [复制链接]     449122717 2 主题 2 好友 816 积分 No.4 中级开发者 升级  19.3 ...

  6. GOOGLE CODE ANDROID 开源项目 集合

    转:http://blog.csdn.net/dellheng/article/details/7163333 1.        ZXing  http://code.google.com/p/zx ...

  7. 【转载】showModalDialog returnValue is undefined in Google Chrome

    showModalDialog returnValue is undefined in Google Chrome Posted on August 22, 2012by briancaos For ...

  8. Chromium Embedded Framework

    关于CEF 近期由于工作需要开始研究了Google的Chromium Embedded Framework(CEF),这是一个基于Google Chromium开源代码的项目,使用CEF可以很方便的在 ...

  9. 通过ipv6访问 g o o g l e

    Google.Youtube.Facebook等均支持IPv6访问,IPv4网络的用户大部分都无法访问,比如Gmail,Google Docs等等各种相关服务.而该类网站大部分均已接入IPv6网络,因 ...

随机推荐

  1. FFmpeg在Linux下编译使用

    文章转自:http://www.cnblogs.com/CoderTian/p/6655568.html 1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通 ...

  2. jquery 属性操作 attr( ) prop()css( )区别

    一 attr () 和 prop( ) 操作属性 谈谈我的总结: 1 2 1 属性的定义,根据W3C手册所述:属性包括,标准属性:id class style title 语言属性 lang dir以 ...

  3. EMQ学习 ---集群

    emqttd集群设置管理 一.先来看EMQ的文档定义:http://emqtt.com/docs/v1/cluster.html emqttd集群设置管理 假设部署两台服务器s1.emqtt.io, ...

  4. 对log4cpp进一步封装

    //Mylog.h如下: #pragma once//#include <iostream>#include <log4cpp/Category.hh>#include < ...

  5. node.js 操作excel 表格与XML文件常用的npm

    在日常工作中会经常用到把一些excel表格文件转化为json,xml,js等格式的文件,下面就是我在日常中用到的这些npm. 1.node-xlsx: node-xlsx可以把excel文件转化为上面 ...

  6. unity, 替换shader渲染(Rendering with Replaced Shaders)

    实现特效,尤其是一些后处理特效,经常需要将各物体的shader替换为另一套shader进行渲染到纹理,再后再进行合成或以某种叠加方式叠加到最后的画面上去. 再复杂一点儿的,可能不同的物体所用的替换sh ...

  7. Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域

    1.@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文) package com.test.s ...

  8. 取得COM对象的UUID并以string输出

    IID tmp = __uuidof(ClassLibrary1::Class1); OLECHAR * buf; StringFromIID(tmp, &buf); 好像要#include ...

  9. poj 2524 Ubiquitous Religions 一简单并查集

    Ubiquitous Religions   Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 22389   Accepted ...

  10. Setup Factory 读取安装包的配置文件

    result = INIFile.GetValue(SessionVar.Expand("%SourceFolder%\\set.ini"), "set", & ...