[webkit-reviews] review denied: [Bug 66137] add shouldValidate() to WebHistory : [Attachment 103774] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Aug 12 12:07:23 PDT 2011
Brady Eidson <beidson at apple.com> has denied Gavin Peters
<gavinp at chromium.org>'s request for review:
Bug 66137: add shouldValidate() to WebHistory
https://bugs.webkit.org/show_bug.cgi?id=66137
Attachment 103774: Patch
https://bugs.webkit.org/attachment.cgi?id=103774&action=review
------- Additional Comments from Brady Eidson <beidson at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=103774&action=review
> Source/WebCore/ChangeLog:4
> + add shouldValidate() to WebHistory
> + https://bugs.webkit.org/show_bug.cgi?id=66137
WebCore doesn't have "WebHistory", nor is this a change to the WebKit global
"WebHistory"
It actually adds shouldValidate to HistoryItem.
> Source/WebCore/loader/FrameLoader.cpp:-3070
> case FrameLoadTypeBack:
> case FrameLoadTypeForward:
> case FrameLoadTypeIndexedBackForward:
> - // If the first load within a frame is a navigation within a
back/forward list that was attached
> - // without any of the items being loaded then we should use
the default caching policy (<rdar://problem/8131355>).
> - if (m_stateMachine.committedFirstRealDocumentLoad() &&
!itemURL.protocolIs("https"))
> - request.setCachePolicy(ReturnCacheDataElseLoad);
> - break;
I think your changes need to go here in the switch statement...
> Source/WebCore/loader/FrameLoader.cpp:3084
> +
> +#if !PLATFORM(CHROMIUM)
> + // On platforms that do not set shouldValidate() based on session
history, we use the state machine
> + // as a proxy for if this history item has been loaded in this session.
> + if (!m_stateMachine.committedFirstRealDocumentLoad())
> + item->setShouldValidate(false);
> +#endif
> +
> + if (!item->shouldValidate())
> + request.setCachePolicy(ReturnCacheDataElseLoad);
> +
Because by putting them out here, you lose the meaning of the special behavior
being *only* for back/forward load types. And yes - By using API, an app can
load a history item not as a back/forward load type and that has special
meaning.
Also, you're losing the https exemption here.
Also, shouldValidate is *ALWAYS* false, as nothing ever sets it to true. I
know Chromium will probably be setting it to true in some cases, but you're
basically changing the behavior for all other ports.
> Source/WebKit/chromium/ChangeLog:4
> + add shouldValidate() to WebHistory
> + https://bugs.webkit.org/show_bug.cgi?id=66137
Your port, your call - but it's actually WebHistoryItem right?
> Source/WebKit/chromium/ChangeLog:27
> + Reviewed by NOBODY (OOPS!).
> +
> + No new tests because DumpRenderTree doesn't have a good mechanism
for checking history.
> +
> + * history/HistoryItem.cpp:
> + (WebCore::HistoryItem::HistoryItem):
> + (WebCore::HistoryItem::reset):
> + * history/HistoryItem.h:
> + (WebCore::HistoryItem::setShouldValidate):
> + (WebCore::HistoryItem::shouldValidate):
> + * loader/FrameLoader.cpp:
> + (WebCore::FrameLoader::addExtraFieldsToRequest):
> + (WebCore::FrameLoader::loadDifferentDocumentItem):
This seems to be a copy of the WebCore changes and not the actual Chromium
WebKit changes.
More information about the webkit-reviews
mailing list