~abreu-alexandre/oxide/content-script-injection-main-world

« back to all changes in this revision

Viewing changes to shared/browser/oxide_web_view.cc

  • Committer: Chris Coulson
  • Date: 2014-04-17 10:08:59 UTC
  • Revision ID: chris.coulson@canonical.com-20140417100859-pktoczhdgfmmb65z
Add support for fullscreen API

Show diffs side-by-side

added added

removed removed

Lines of Context:
377
377
  OnLoadProgressChanged(progress);
378
378
}
379
379
 
 
380
bool WebView::AddMessageToConsole(content::WebContents* source,
 
381
                                  int32 level,
 
382
                                  const base::string16& message,
 
383
                                  int32 line_no,
 
384
                                  const base::string16& source_id) {
 
385
  return OnAddMessageToConsole(level, message, line_no, source_id);
 
386
}
 
387
 
 
388
content::JavaScriptDialogManager* WebView::GetJavaScriptDialogManager() {
 
389
  return JavaScriptDialogManager::GetInstance();
 
390
}
 
391
 
 
392
void WebView::RunFileChooser(content::WebContents* web_contents,
 
393
                             const content::FileChooserParams& params) {
 
394
  DCHECK(!active_file_picker_);
 
395
  content::RenderViewHost* rvh = web_contents->GetRenderViewHost();
 
396
  FilePicker* filePicker = CreateFilePicker(rvh);
 
397
  if (!filePicker) {
 
398
    std::vector<ui::SelectedFileInfo> empty;
 
399
    rvh->FilesSelectedInChooser(empty, params.mode);
 
400
    return;
 
401
  }
 
402
  active_file_picker_ = filePicker->AsWeakPtr();
 
403
  active_file_picker_->Run(params);
 
404
}
 
405
 
 
406
void WebView::ToggleFullscreenModeForTab(content::WebContents* source,
 
407
                                         bool enter) {
 
408
  DCHECK_EQ(source, web_contents_.get());
 
409
  OnToggleFullscreenMode(enter);
 
410
}
 
411
 
 
412
bool WebView::IsFullscreenForTabOrPending(
 
413
    const content::WebContents* source) const {
 
414
  DCHECK_EQ(source, web_contents_.get());
 
415
  return is_fullscreen_;
 
416
}
 
417
 
380
418
void WebView::RenderViewHostChanged(content::RenderViewHost* old_host,
381
419
                                    content::RenderViewHost* new_host) {
382
420
  while (root_frame_->ChildCount() > 0) {
542
580
  return false;
543
581
}
544
582
 
 
583
void WebView::OnToggleFullscreenMode(bool enter) {}
 
584
 
545
585
bool WebView::ShouldHandleNavigation(const GURL& url,
546
586
                                     WindowOpenDisposition disposition,
547
587
                                     bool user_gesture) {
558
598
}
559
599
 
560
600
WebView::WebView() :
561
 
    root_frame_(NULL) {}
 
601
    root_frame_(NULL),
 
602
    is_fullscreen_(false) {}
562
603
 
563
604
bool WebView::Init(const Params& params) {
564
605
  CHECK(!web_contents_);
709
750
  return web_contents_->IsLoading();
710
751
}
711
752
 
 
753
bool WebView::IsFullscreen() const {
 
754
  if (!web_contents_) {
 
755
    return false;
 
756
  }
 
757
  return is_fullscreen_;
 
758
}
 
759
 
 
760
void WebView::SetIsFullscreen(bool fullscreen) {
 
761
  if (fullscreen != is_fullscreen_) {
 
762
    is_fullscreen_ = fullscreen;
 
763
    if (web_contents_) {
 
764
      web_contents_->GetRenderViewHost()->WasResized();
 
765
    }
 
766
  }
 
767
}
 
768
 
712
769
void WebView::UpdateSize(const gfx::Size& size) {
713
770
  content::RenderWidgetHostView* rwhv =
714
771
      web_contents_->GetRenderWidgetHostView();
862
919
  }
863
920
}
864
921
 
865
 
content::JavaScriptDialogManager* WebView::GetJavaScriptDialogManager() {
866
 
  return JavaScriptDialogManager::GetInstance();
867
 
}
868
 
 
869
 
void WebView::RunFileChooser(content::WebContents* web_contents,
870
 
                             const content::FileChooserParams& params) {
871
 
  DCHECK(!active_file_picker_);
872
 
  content::RenderViewHost* rvh = web_contents->GetRenderViewHost();
873
 
  FilePicker* filePicker = CreateFilePicker(rvh);
874
 
  if (!filePicker) {
875
 
    std::vector<ui::SelectedFileInfo> empty;
876
 
    rvh->FilesSelectedInChooser(empty, params.mode);
877
 
    return;
878
 
  }
879
 
  active_file_picker_ = filePicker->AsWeakPtr();
880
 
  active_file_picker_->Run(params);
881
 
}
882
 
 
883
 
bool WebView::AddMessageToConsole(content::WebContents* source,
884
 
                                  int32 level,
885
 
                                  const base::string16& message,
886
 
                                  int32 line_no,
887
 
                                  const base::string16& source_id) {
888
 
  return OnAddMessageToConsole(level, message, line_no, source_id);
889
 
}
890
 
 
891
922
} // namespace oxide