Add ScriptForbiddenScope to weak callbacks of DOM wrappers

It's dangerous to allow arbitrary JavaScript to run during a V8 GC.

BUG=389445

Review URL: https://codereview.chromium.org/368853002

git-svn-id: svn://svn.chromium.org/blink/trunk@177457 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't show video fullscreen until DidEnterFullscreen() is called, and disable fullscreen for non-media elements for android webview

This change is copied from https://codereview.chromium.org/284913002/
However, the previous change breaks android webview because android webview doesn't support fullscreen except media.
AwWebContentsDelegate::ToggleFullscreenModeForTab is actually not implemented in webview.
To solve the webview issue, this change adds a flag to disallow elements other than video to enter fullscreen.
When this flag is enabled, webview will only respond to fullscreen calls from the video element and can thus send the resize IPC to complete the will/didEnterfullscreen call.

BUG=367346

Review URL: https://codereview.chromium.org/290643005

git-svn-id: svn://svn.chromium.org/blink/trunk@177458 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ASSERTION FAILED: mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child) >= 0 in RenderFlexibleBox::preferredMainAxisContentExtentForChild

The assertion  mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child) >= 0
in RenderFlexibleBox::preferredMainAxisContentExtentForChild gets failed for the following
case <html style="display: -webkit-inline-flex;"><frameset></frameset></html>.

Actually this assertion is getting failed because when computing mainAxisExtent
for the child (in our case frameset element) it calls the api
maxPreferredLogicalWidth() in RenderBox. In this api  it calls the api
computePreferredLogicalWidths() of that child. Since child is a frameset element
and there is no computePreferredLogicalWidths() defined in RenderFrameSet and
since RenderFrameSet is a subclass of RenderBox so it calls the
computePreferredLogicalWidths() of RenderBox. Since the
computePreferredLogicalWidths() api of RenderBox does only
clearPreferredLogicalWidthsDirty(); so the maxPreferredLogicalWidth return for
frameset element is -1. 

This patch fixes this bug by implementing RenderFrameSet::computePreferredLogicalWidth. In this api we are simply initializing maxPreferredLogicalWidth and minPreferredLogicalWidth to 0.


BUG=335121

Review URL: https://codereview.chromium.org/343173003

git-svn-id: svn://svn.chromium.org/blink/trunk@177459 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Delete paint invalidaiton code in RenderLayerModelObject::styleWillChange."

The revert of https://codereview.chromium.org/360193002
Reason of revert:
The following tests failures
css3/flexbox/repaint-opacity-change.html
fast/repaint/fixed-and-absolute-position-scrolled.html

The actual test expectations look like regression.

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=css3/flexbox/repaint-opacity-change.html,fast/repaint/fixed-and-absolute-position-scrolled.html

BUG=391036
TBR=chrishtr,pilgrim@chromium.org

Review URL: https://codereview.chromium.org/363283002

git-svn-id: svn://svn.chromium.org/blink/trunk@177460 bbb929c8-8fbe-4397-9dbb-9b2b20218538