Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: Source/core/html/HTMLFormElement.cpp

Issue 799923006: Make canNavigate() OOPI-friendly (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Null-check in History.cpp Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/frame/RemoteFrame.h ('k') | Source/core/html/HTMLFrameOwnerElement.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 return; 427 return;
428 } 428 }
429 429
430 if (protocolIsJavaScript(submission->action())) { 430 if (protocolIsJavaScript(submission->action())) {
431 if (!document().contentSecurityPolicy()->allowFormAction(submission->act ion())) 431 if (!document().contentSecurityPolicy()->allowFormAction(submission->act ion()))
432 return; 432 return;
433 document().frame()->script().executeScriptIfJavaScriptURL(submission->ac tion()); 433 document().frame()->script().executeScriptIfJavaScriptURL(submission->ac tion());
434 return; 434 return;
435 } 435 }
436 436
437 LocalFrame* targetFrame = document().frame()->loader().findFrameForNavigatio n(submission->target(), submission->state()->sourceDocument()); 437 Frame* targetFrame = document().frame()->findFrameForNavigation(submission-> target(), *submission->state()->sourceDocument()->frame());
438 if (!targetFrame) { 438 if (!targetFrame) {
439 if (!LocalDOMWindow::allowPopUp(*document().frame()) && !UserGestureIndi cator::processingUserGesture()) 439 if (!LocalDOMWindow::allowPopUp(*document().frame()) && !UserGestureIndi cator::processingUserGesture())
440 return; 440 return;
441 targetFrame = document().frame(); 441 targetFrame = document().frame();
442 } else { 442 } else {
443 submission->clearTarget(); 443 submission->clearTarget();
444 } 444 }
445 if (!targetFrame->page()) 445 if (!targetFrame->host())
446 return; 446 return;
447 447
448 if (MixedContentChecker::isMixedContent(document().securityOrigin(), submiss ion->action())) { 448 if (MixedContentChecker::isMixedContent(document().securityOrigin(), submiss ion->action())) {
449 UseCounter::count(document(), UseCounter::MixedContentFormsSubmitted); 449 UseCounter::count(document(), UseCounter::MixedContentFormsSubmitted);
450 if (!document().frame()->loader().mixedContentChecker()->canSubmitToInse cureForm(document().securityOrigin(), submission->action())) 450 if (!document().frame()->loader().mixedContentChecker()->canSubmitToInse cureForm(document().securityOrigin(), submission->action()))
451 return; 451 return;
452 } else { 452 } else {
453 UseCounter::count(document(), UseCounter::FormsSubmitted); 453 UseCounter::count(document(), UseCounter::FormsSubmitted);
454 } 454 }
455 455
456 targetFrame->navigationScheduler().scheduleFormSubmission(submission); 456 // FIXME: Plumb form submission for remote frames.
457 if (targetFrame->isLocalFrame())
458 toLocalFrame(targetFrame)->navigationScheduler().scheduleFormSubmission( submission);
457 } 459 }
458 460
459 void HTMLFormElement::reset() 461 void HTMLFormElement::reset()
460 { 462 {
461 LocalFrame* frame = document().frame(); 463 LocalFrame* frame = document().frame();
462 if (m_isInResetFunction || !frame) 464 if (m_isInResetFunction || !frame)
463 return; 465 return;
464 466
465 m_isInResetFunction = true; 467 m_isInResetFunction = true;
466 468
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 } 880 }
879 881
880 void HTMLFormElement::setDemoted(bool demoted) 882 void HTMLFormElement::setDemoted(bool demoted)
881 { 883 {
882 if (demoted) 884 if (demoted)
883 UseCounter::count(document(), UseCounter::DemotedFormElement); 885 UseCounter::count(document(), UseCounter::DemotedFormElement);
884 m_wasDemoted = demoted; 886 m_wasDemoted = demoted;
885 } 887 }
886 888
887 } // namespace 889 } // namespace
OLDNEW
« no previous file with comments | « Source/core/frame/RemoteFrame.h ('k') | Source/core/html/HTMLFrameOwnerElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698