diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2012-05-01 14:58:16 -0700 |
---|---|---|
committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-05-01 14:58:16 -0700 |
commit | 829229abf10ddf6135c682d42a291925ef0da35f (patch) | |
tree | d187a6a463e6ee163c584f5d34a02214fd4efec8 /Source/WebKit/android/nav | |
parent | 2a4b05157366c518d3bb20406a2759f2aa03b617 (diff) | |
download | external_webkit-829229abf10ddf6135c682d42a291925ef0da35f.zip external_webkit-829229abf10ddf6135c682d42a291925ef0da35f.tar.gz external_webkit-829229abf10ddf6135c682d42a291925ef0da35f.tar.bz2 |
Workaround a crash
When content is empty, just minus an empty rect.
bug:6404975
Change-Id: Ia12a64f93345bde7d3b92a99746b29e2e71bb652
Diffstat (limited to 'Source/WebKit/android/nav')
-rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 804a479..5739c78 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -304,8 +304,14 @@ PictureSet* draw(SkCanvas* canvas, SkColor bgColor, DrawExtras extras, bool spli // draw the content of the base layer first LayerContent* content = m_baseLayer->content(); int sc = canvas->save(SkCanvas::kClip_SaveFlag); - canvas->clipRect(SkRect::MakeLTRB(0, 0, content->width(), - content->height()), SkRegion::kDifference_Op); + int contentWidth = 0; + int contentHeight = 0; + if (content) { + contentWidth = content->width(); + contentHeight = content->height(); + } + canvas->clipRect(SkRect::MakeLTRB(0, 0, contentWidth, contentHeight), + SkRegion::kDifference_Op); Color c = m_baseLayer->getBackgroundColor(); canvas->drawColor(SkColorSetARGBInline(c.alpha(), c.red(), c.green(), c.blue())); canvas->restoreToCount(sc); |