~noskcaj/ubuntu/wily/epiphany-browser/merge

« back to all changes in this revision

Viewing changes to embed/ephy-web-view.c

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2012-10-24 10:31:13 UTC
  • mto: (120.1.2 experimental) (1.10.1) (105.1.14 sid)
  • mto: This revision was merged to the branch mainline in revision 120.
  • Revision ID: package-import@ubuntu.com-20121024103113-9oxzkdznk03km29m
Tags: upstream-3.6.1
ImportĀ upstreamĀ versionĀ 3.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1814
1814
}
1815
1815
#else
1816
1816
static gboolean
 
1817
is_main_resource (WebKitWebFrame *frame, WebKitNetworkRequest *request)
 
1818
{
 
1819
  const char *request_uri = NULL, *main_resource_uri = NULL;
 
1820
  WebKitWebDataSource *frame_data_source;
 
1821
 
 
1822
  request_uri = webkit_network_request_get_uri (request);
 
1823
  frame_data_source = webkit_web_frame_get_data_source (frame);
 
1824
  if (frame_data_source) {
 
1825
    WebKitWebResource *resource;
 
1826
 
 
1827
    resource = webkit_web_data_source_get_main_resource (frame_data_source);
 
1828
    main_resource_uri = webkit_web_resource_get_uri (resource);
 
1829
  }
 
1830
 
 
1831
  return g_strcmp0 (request_uri, main_resource_uri) == 0;
 
1832
}
 
1833
 
 
1834
static gboolean
1817
1835
mime_type_policy_decision_requested_cb (WebKitWebView *web_view,
1818
1836
                                        WebKitWebFrame *frame,
1819
1837
                                        WebKitNetworkRequest *request,
1851
1869
  /* If WebKit can't handle the mime type start the download
1852
1870
     process */
1853
1871
  should_download = !webkit_web_view_can_show_mime_type (web_view, mime_type);
1854
 
 
1855
 
  /* Make sure we respect the Content-Disposition header */
1856
 
  if (!should_download) {
1857
 
    WebKitNetworkResponse *response = webkit_web_frame_get_network_response (frame);
1858
 
    SoupMessage *message = NULL;
1859
 
 
1860
 
    if (response) {
1861
 
      message = webkit_network_response_get_message (response);
1862
 
    }
1863
 
 
1864
 
    if (message) {
1865
 
      char *disposition = NULL;
1866
 
 
1867
 
      soup_message_headers_get_content_disposition (message->response_headers,
1868
 
                                                    &disposition,
1869
 
                                                    NULL);
1870
 
 
1871
 
      if (disposition) {
1872
 
        should_download = g_str_equal (disposition, "attachment");
1873
 
        g_free (disposition);
1874
 
      }
1875
 
    }
1876
 
 
1877
 
    g_object_unref (response);
1878
 
  }
 
1872
  if (should_download)
 
1873
    should_download = is_main_resource (frame, request);
1879
1874
 
1880
1875
  /* FIXME: need to use ephy_file_check_mime if auto-downloading */
1881
1876
  if (should_download) {