Bug 140214

Summary: WKNavigation.initialRequest is always nil in -[WKNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]
Product: WebKit Reporter: Eugene But <eugenebut>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dieter, stuartmorgan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: iPhone / iPad   
OS: All   

Description Eugene But 2015-01-07 14:40:03 PST
Summary:
The initialRequest property of the WKNavigation object passed to -[WKNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:] is always nil. I expected this to be in the request that triggered the redirect.

Steps to Reproduce:
1) Create a WKWebView instance and load browsingtest.appspot.com.
2) Click on "redirect301" from the page in the row "Window34".

Sample Code:
- (void)viewDidLoad {
  [super viewDidLoad];
  WKWebViewConfiguration* config = [[WKWebViewConfiguration alloc] init];
  self.webView =
  [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];
  [self.view addSubview:self.webView];
  self.webView.navigationDelegate = self;
  NSURLRequest* request = [[NSURLRequest alloc]
      initWithURL:[NSURL URLWithString:@"http://browsingtest.appspot.com"]];
  [self.webView loadRequest:request];
  // click redirect301 on the page.
}

- (void)webView:(WKWebView *)webView
didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation {
  // This should not be nil.
  NSLog(@"%@", navigation.initialRequest);
}


Expected Results:
Expected WKNavigation.initialRequest to be populated with http://browsingtest.appspot.com/redirect?code=301 - the same request passed to -webView:decidePolicyForNavigationAction:decisionHandler: and -webView:didStartProvisionalNavigation:. 

Actual Results:
WKNavigation.initialRequest is nil
The method is not implemented: https://github.com/WebKit/webkit/blob/0190dd5b8c0272beaa705dbc10863a84a3e6af5e/Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm
Comment 1 Eugene But 2015-01-07 16:09:36 PST
Radar ID: 17935319