I tired with the offscreen mode and here are the problems I found:
- [x] <del>The `data` of `paint` event is empty when loading simple local pages.</del>
- [x] The size of `data` is wrong, current implement uses the size of pointer (`sizeof(bitmap_pixels)`).
- [x] Crashes when opening devtools for offscreen window.
- [x] We should probably show a dummy view indicating it is offscreen instead of provide NULL.
- [x] The offscreen window is affecting the rendering of other windows. Try running `./script/test.py -g offscreen` and then refreshing the window.

/cc @gerhardberger @brenca

atom/browser/api/atom_api_web_contents.cc
web_contents()->PasteAndMatchStyle();
}
void WebContents::Delete() {
  web_contents()->Delete();
}
void WebContents::SelectAll() {
  web_contents()->SelectAll();
}
void WebContents::Unselect() {
  web_contents()->Unselect();
}
void WebContents::Replace(const base::string16& word) {
  web_contents()->Replace(word);
}
void WebContents::ReplaceMisspelling(const base::string16& word) {
  web_contents()->ReplaceMisspelling(word);
}
uint32_t WebContents::FindInPage(mate::Arguments* args) {
  uint32_t request_id = GetNextRequestId();
  base::string16 search_text;
  blink::WebFindOptions options;
  if (!args->GetNext(&search_text) || search_text.empty()) {
    args->ThrowError("Must provide a non-empty search content");
    return 0;
  }
  args->GetNext(&options);
  web_contents()->Find(request_id, search_text, options);
  return request_id;
}
void WebContents::StopFindInPage(content::StopFindAction action) {