WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
108284
Snapshotted plug-in should use shadow root
https://bugs.webkit.org/show_bug.cgi?id=108284
Summary
Snapshotted plug-in should use shadow root
Dean Jackson
Reported
2013-01-29 18:56:09 PST
A snapshotted plug-in should use an internal shadow root, so that it can display a message to the user indicating what is happening. Currently, this is implemented by retrieving an image that is burnt into the Renderer. As part of this, we'll provide a default styling that could be customized by ports using the extraPlugInsStyleSheet() function. For example, Mac will grab this content from its injected bundle to provide a platform-like UI.
Attachments
Patch
(29.97 KB, patch)
2013-01-30 13:18 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(29.62 KB, patch)
2013-01-30 19:24 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(28.84 KB, patch)
2013-01-31 10:39 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(28.74 KB, patch)
2013-01-31 11:24 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Landing EWS test
(38.64 KB, patch)
2013-02-08 13:49 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Another build test
(36.24 KB, patch)
2013-02-08 16:05 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(41.34 KB, patch)
2013-02-08 16:25 PST
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2013-01-29 18:56:28 PST
<
rdar://problem/13112495
>
Dean Jackson
Comment 2
2013-01-30 13:18:35 PST
Created
attachment 185545
[details]
Patch
Jon Lee
Comment 3
2013-01-30 15:30:43 PST
Comment on
attachment 185545
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185545&action=review
Unofficial r=me with adjustments to style calc calls
> Source/WebCore/html/HTMLPlugInImageElement.cpp:146 > + if (displayState() == DisplayingSnapshot && document()->page() && document()->page()->settings()->plugInSnapshottingEnabled()) {
Is the setting check required? The displayState should only ever not be Playing if the setting is enabled.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:355 > + recalcStyle(Force);
Is this second recalcStyle necessary?
Dean Jackson
Comment 4
2013-01-30 16:17:42 PST
(In reply to
comment #3
)
> (From update of
attachment 185545
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=185545&action=review
> > Unofficial r=me with adjustments to style calc calls > > > Source/WebCore/html/HTMLPlugInImageElement.cpp:146 > > + if (displayState() == DisplayingSnapshot && document()->page() && document()->page()->settings()->plugInSnapshottingEnabled()) { > > Is the setting check required? The displayState should only ever not be Playing if the setting is enabled. > > > Source/WebCore/html/HTMLPlugInImageElement.cpp:355 > > + recalcStyle(Force); > > Is this second recalcStyle necessary?
Fixed both of these.
Dean Jackson
Comment 5
2013-01-30 19:24:48 PST
Created
attachment 185659
[details]
Patch
Dean Jackson
Comment 6
2013-01-30 19:26:29 PST
Updated patch after
r141066
, which changed the way you attach shadow roots and their subtrees.
Early Warning System Bot
Comment 7
2013-01-30 19:32:53 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/16257054
Jon Lee
Comment 8
2013-01-30 19:37:00 PST
Comment on
attachment 185659
[details]
Patch Need to appropriately remove of startLabelImage() and references to LabelSize from other ports.
Jon Lee
Comment 9
2013-01-30 19:40:06 PST
(In reply to
comment #8
)
> (From update of
attachment 185659
[details]
) > Need to appropriately remove of startLabelImage() and references to LabelSize from other ports.
... which means removing ChromeClient::plugInStartLabelImage(). Or alternatively, don't remove LabelSize.
WebKit Review Bot
Comment 10
2013-01-30 19:44:07 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16218894
Build Bot
Comment 11
2013-01-30 19:54:01 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://queues.webkit.org/results/16250104
Peter Beverloo (cr-android ews)
Comment 12
2013-01-30 22:21:04 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass cr-android-ews (chromium-android): Output:
http://queues.webkit.org/results/16265001
EFL EWS Bot
Comment 13
2013-01-30 22:56:30 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass efl-ews (efl): Output:
http://queues.webkit.org/results/16267005
Early Warning System Bot
Comment 14
2013-01-30 23:41:12 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass qt-wk2-ews (qt): Output:
http://queues.webkit.org/results/16269023
Build Bot
Comment 15
2013-01-31 00:11:53 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/16268051
Build Bot
Comment 16
2013-01-31 02:26:13 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass win-ews (win): Output:
http://queues.webkit.org/results/16278112
WebKit Review Bot
Comment 17
2013-01-31 03:08:32 PST
Comment on
attachment 185659
[details]
Patch
Attachment 185659
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16269119
Dimitri Glazkov (Google)
Comment 18
2013-01-31 09:17:25 PST
Comment on
attachment 185659
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185659&action=review
> Source/WebCore/html/HTMLPlugInImageElement.cpp:291 > +void HTMLPlugInImageElement::didAddUserAgentShadowRoot(ShadowRoot* root)
Elliott's been refactoring around this. Need to cc him so that he don't stomp over ya here.
Elliott Sprehn
Comment 19
2013-01-31 09:44:17 PST
Comment on
attachment 185659
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185659&action=review
> Source/WebCore/html/HTMLPlugInImageElement.cpp:337 > + recalcStyle(Force);
Why do you need to manually cause the style recalc or set all these needs properties? This seems really wrong. Just like doing appendChild() in JS, we handle all of that automatically here.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:351 > + attach();
Adding a shadow root will already cause a reattach. You don't need to do it manually. See: ElementShadow::addShadowRoot
> Source/WebCore/html/HTMLPlugInImageElement.cpp:362 > + attach();
reattach(). What's the reason for wanting to destroy and recreate the render tree here?
> Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:171 > + firstChild()->style()->setWidth(Length(newSize.width(), Fixed));
I think you should be able to do this with just CSS? It doesn't seem you should need to layout the child twice here.
Dean Jackson
Comment 20
2013-01-31 10:39:50 PST
Created
attachment 185810
[details]
Patch
Early Warning System Bot
Comment 21
2013-01-31 10:45:41 PST
Comment on
attachment 185810
[details]
Patch
Attachment 185810
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/16270281
Elliott Sprehn
Comment 22
2013-01-31 10:54:26 PST
Comment on
attachment 185810
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185810&action=review
Looks great, two small things.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:295 > + RefPtr<Element> shadowContainer = doc->createElement(divTag, ASSERT_NO_EXCEPTION);
It would be nicer to use HTMLDivElement::create(doc) instead here since you wouldn't need that ASSERT_NO_EXCEPTION.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:357 > + attach();
Lets use reattach()
WebKit Review Bot
Comment 23
2013-01-31 10:57:16 PST
Comment on
attachment 185810
[details]
Patch
Attachment 185810
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16292035
WebKit Review Bot
Comment 24
2013-01-31 11:06:49 PST
Comment on
attachment 185810
[details]
Patch
Attachment 185810
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16266339
Dean Jackson
Comment 25
2013-01-31 11:16:16 PST
(In reply to
comment #18
)
> (From update of
attachment 185659
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=185659&action=review
> > > Source/WebCore/html/HTMLPlugInImageElement.cpp:291 > > +void HTMLPlugInImageElement::didAddUserAgentShadowRoot(ShadowRoot* root) > > Elliott's been refactoring around this. Need to cc him so that he don't stomp over ya here.
Oh, I thought that was the result of the refactoring :)
Build Bot
Comment 26
2013-01-31 11:17:50 PST
Comment on
attachment 185810
[details]
Patch
Attachment 185810
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://queues.webkit.org/results/16264360
Dean Jackson
Comment 27
2013-01-31 11:21:04 PST
(In reply to
comment #9
)
> (In reply to
comment #8
) > > (From update of
attachment 185659
[details]
[details]) > > Need to appropriately remove of startLabelImage() and references to LabelSize from other ports. > > ... which means removing ChromeClient::plugInStartLabelImage(). Or alternatively, don't remove LabelSize.
This is just a side effect of this patch depending on
https://bugs.webkit.org/show_bug.cgi?id=108273
I'll run against EWS before landing, once that other one has committed.
Dean Jackson
Comment 28
2013-01-31 11:24:32 PST
Created
attachment 185828
[details]
Patch
Dean Jackson
Comment 29
2013-01-31 11:25:49 PST
New patch with fixed for comments from Dimitri and Elliot. Sorry, this is going to fail the bots once more and cause bugzilla email :( Like I said, it's expecting
https://bugs.webkit.org/show_bug.cgi?id=108273
WebKit Review Bot
Comment 30
2013-01-31 11:35:58 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16270314
Build Bot
Comment 31
2013-01-31 11:42:56 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://queues.webkit.org/results/16251495
Early Warning System Bot
Comment 32
2013-01-31 11:45:39 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/16273347
WebKit Review Bot
Comment 33
2013-01-31 11:59:54 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16269363
Peter Beverloo (cr-android ews)
Comment 34
2013-01-31 12:04:32 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass cr-android-ews (chromium-android): Output:
http://queues.webkit.org/results/16270324
EFL EWS Bot
Comment 35
2013-01-31 12:38:54 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass efl-ews (efl): Output:
http://queues.webkit.org/results/16266378
Build Bot
Comment 36
2013-01-31 15:56:54 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/16303061
Jon Lee
Comment 37
2013-01-31 18:22:01 PST
Comment on
attachment 185828
[details]
Patch Unofficial r=me.
Elliott Sprehn
Comment 38
2013-01-31 19:27:08 PST
Comment on
attachment 185828
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185828&action=review
Unofficial r=me on this. Two nits.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:337 > + return (childContext.isOnUpperEncapsulationBoundary() && HTMLElement::childShouldCreateRenderer(childContext));
nit: extra parens are not needed.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:343 > + if (displayState() == DisplayingSnapshot && !userAgentShadowRoot()) {
Why do you both assert about it and check here? Early return is usually considered better as well.
Early Warning System Bot
Comment 39
2013-01-31 23:46:45 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass qt-wk2-ews (qt): Output:
http://queues.webkit.org/results/16297473
Build Bot
Comment 40
2013-02-01 07:06:43 PST
Comment on
attachment 185828
[details]
Patch
Attachment 185828
[details]
did not pass win-ews (win): Output:
http://queues.webkit.org/results/16301707
Dean Jackson
Comment 41
2013-02-01 09:58:45 PST
(In reply to
comment #38
)
> (From update of
attachment 185828
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=185828&action=review
> > Unofficial r=me on this. Two nits. > > > Source/WebCore/html/HTMLPlugInImageElement.cpp:337 > > + return (childContext.isOnUpperEncapsulationBoundary() && HTMLElement::childShouldCreateRenderer(childContext)); > > nit: extra parens are not needed.
Removed.
> > > Source/WebCore/html/HTMLPlugInImageElement.cpp:343 > > + if (displayState() == DisplayingSnapshot && !userAgentShadowRoot()) { > > Why do you both assert about it and check here? Early return is usually considered better as well.
Good point. I've removed the test in the conditional, and swapped it around to an early return. I won't upload a new patch to avoid the EWS build fail emails :)
Simon Fraser (smfr)
Comment 42
2013-02-01 10:58:59 PST
Comment on
attachment 185828
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185828&action=review
> Source/WebCore/css/plugIns.css:42 > +/* > + * This is the UA StyleSheet for <object> and <embed> elements. > + * > + * Such elements, when snapshotted (paused), will contain a ShadowRoot > + * with the following structure: > + * > + * <object> > + * #ShadowRoot > + * <div class="snapshot-container"> > + * <div class="snapshot-overlay"></div> <!-- e.g. for dimming content --> > + * <div class="snapshot-label"> > + * <span class="snapshot-title">Snapshotted Plug-In</span> > + * <span class="snapshot-subtitle">Click to restart</span> > + * </div> > + * </div> > + * </div> > + * > + */
It's a shame to bog down UA stylesheet parsing with big comments. Or is this stripped out before we convert to const char[] ?
> Source/WebCore/css/plugIns.css:55 > +object::-webkit-snapshotted-plugin-content * { > + cursor: hand; > + pointer-events: none; > + -webkit-user-select: none; > +}
Is this necessary on all child nodes or just some container?
> Source/WebCore/css/plugIns.css:91 > + color: #444;
You have used every one of rgba(), keyword and hex values for colors!
> Source/WebCore/html/HTMLPlugInImageElement.cpp:74 > + , m_snapshotImage(0)
No need to init a RefPtr.
> Source/WebCore/html/HTMLPlugInImageElement.cpp:311 > + String clientTitleText = document()->page()->chrome()->client()->plugInStartLabelTitle();
Do you need to null-check chrome()->client()?
Dean Jackson
Comment 43
2013-02-04 11:17:29 PST
Comment on
attachment 185828
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=185828&action=review
>> Source/WebCore/css/plugIns.css:42 >> + */ > > It's a shame to bog down UA stylesheet parsing with big comments. Or is this stripped out before we convert to const char[] ?
Yes, it's stripped out.
>> Source/WebCore/css/plugIns.css:55 >> +} > > Is this necessary on all child nodes or just some container?
Removed
>> Source/WebCore/css/plugIns.css:91 >> + color: #444; > > You have used every one of rgba(), keyword and hex values for colors!
Thank you!! :) All rgb or rgba now.
>> Source/WebCore/html/HTMLPlugInImageElement.cpp:74 >> + , m_snapshotImage(0) > > No need to init a RefPtr.
Fixed.
>> Source/WebCore/html/HTMLPlugInImageElement.cpp:311 >> + String clientTitleText = document()->page()->chrome()->client()->plugInStartLabelTitle(); > > Do you need to null-check chrome()->client()?
No. No other use of this does.
Dean Jackson
Comment 44
2013-02-08 13:49:54 PST
Created
attachment 187360
[details]
Landing EWS test Landing Patch for EWS Test
Early Warning System Bot
Comment 45
2013-02-08 13:56:41 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/16428824
WebKit Review Bot
Comment 46
2013-02-08 14:03:23 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass cr-linux-debug-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16445893
WebKit Review Bot
Comment 47
2013-02-08 14:06:02 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/16429840
Peter Beverloo (cr-android ews)
Comment 48
2013-02-08 14:14:55 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass cr-android-ews (chromium-android): Output:
http://queues.webkit.org/results/16432857
Build Bot
Comment 49
2013-02-08 14:15:55 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://queues.webkit.org/results/16435830
Build Bot
Comment 50
2013-02-08 15:25:53 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/16445954
EFL EWS Bot
Comment 51
2013-02-08 15:59:16 PST
Comment on
attachment 187360
[details]
Landing EWS test
Attachment 187360
[details]
did not pass efl-ews (efl): Output:
http://queues.webkit.org/results/16432937
Dean Jackson
Comment 52
2013-02-08 16:05:54 PST
Created
attachment 187381
[details]
Another build test
Dean Jackson
Comment 53
2013-02-08 16:06:28 PST
chromium, qt and gtk are failing to link looking for snapshottedPlugInLabelTitle() and snapshottedPlugInLabelSubtitle() both of which landed in
http://trac.webkit.org/changeset/142311
I'm not sure why it can't find those methods. mac & mac-wk2 build error seems unrelated.
Early Warning System Bot
Comment 54
2013-02-08 16:18:29 PST
Comment on
attachment 187381
[details]
Another build test
Attachment 187381
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/16465014
Dean Jackson
Comment 55
2013-02-08 16:25:50 PST
Created
attachment 187384
[details]
Patch
Dean Jackson
Comment 56
2013-02-08 16:26:24 PST
Duh! I forgot to update platform localized strings.
Dean Jackson
Comment 57
2013-02-08 16:56:32 PST
The gtk failure is the same unrelated one that mac was hitting in InlineBox.
Dean Jackson
Comment 58
2013-02-08 17:27:19 PST
Committed
r142333
: <
http://trac.webkit.org/changeset/142333
>
Dean Jackson
Comment 59
2013-02-08 19:32:36 PST
Rolled out and landed again in
http://trac.webkit.org/changeset/142343
Kent Tamura
Comment 60
2013-02-10 06:16:53 PST
(In reply to
comment #59
)
> Rolled out and landed again in
http://trac.webkit.org/changeset/142343
Let me roll it out. This change is very suspicious about a test crash.
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&showExpectations=true&tests=inspector%2Fprofiler%2Fselector-profiler-url.html
If the roll out won't resolve the crash, I'll re-land it.
Kent Tamura
Comment 61
2013-02-10 06:26:39 PST
Reverted
r142343
for reason: It might make inspector/profiler/selector-profiler-url.html crashy. Committed
r142400
: <
http://trac.webkit.org/changeset/142400
>
Dean Jackson
Comment 62
2013-02-10 14:12:31 PST
(In reply to
comment #61
)
> Reverted
r142343
for reason: > > It might make inspector/profiler/selector-profiler-url.html crashy. > > Committed
r142400
: <
http://trac.webkit.org/changeset/142400
>
Has it made a difference? I can never understand those flakiness pages.
Kent Tamura
Comment 63
2013-02-10 15:34:12 PST
(In reply to
comment #62
)
> > Reverted
r142343
for reason: > > > > It might make inspector/profiler/selector-profiler-url.html crashy. > > > > Committed
r142400
: <
http://trac.webkit.org/changeset/142400
> > > Has it made a difference? I can never understand those flakiness pages.
Yes, the revert fixed the crash. Stack trace on Apple MountainLion Debug WK1 follows. Other ports had similar stack. Process: DumpRenderTree [11741] Path: /Volumes/VOLUME/*/DumpRenderTree Identifier: DumpRenderTree Version: 0 Code Type: X86-64 (Native) Parent Process: Python [11327] User ID: 501 Date/Time: 2013-02-10 07:48:29.816 -0800 OS Version: Mac OS X 10.8.2 (12C54) Report Version: 10 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x000000000000000f VM Regions Near 0xf: --> __TEXT 000000010ed93000-000000010ee2f000 [ 624K] r-x/rwx SM=COW /Volumes/VOLUME/* Application Specific Information: CRASHING TEST: inspector/profiler/selector-profiler-url.html Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.WebCore 0x0000000110bc1cdc WebCore::CSSRule::hasCachedSelectorText() const + 12 (CSSRule.h:107) 1 com.apple.WebCore 0x0000000110bc16fd WebCore::CSSStyleRule::selectorText() const + 45 (CSSStyleRule.cpp:82) 2 com.apple.WebCore 0x00000001112ebd39 WebCore::SelectorProfile::startSelector(WebCore::CSSStyleRule const*) + 57 (InspectorCSSAgent.cpp:172) 3 com.apple.WebCore 0x00000001112e7c12 WebCore::InspectorCSSAgent::willMatchRule(WebCore::StyleRule*, WebCore::StyleResolver*) + 146 (InspectorCSSAgent.cpp:964) 4 com.apple.WebCore 0x000000011135f27e WebCore::InspectorInstrumentation::willMatchRuleImpl(WebCore::InstrumentingAgents*, WebCore::StyleRule*, WebCore::StyleResolver*) + 78 (InspectorInstrumentation.cpp:607) 5 com.apple.WebCore 0x00000001120c501a WebCore::InspectorInstrumentation::willMatchRule(WebCore::Document*, WebCore::StyleRule*, WebCore::StyleResolver*) + 106 (InspectorInstrumentation.h:1205) 6 com.apple.WebCore 0x00000001120af70d WebCore::StyleResolver::collectMatchingRulesForList(WTF::Vector<WebCore::RuleData, 0ul> const*, WebCore::StyleResolver::MatchRequest const&, WebCore::StyleResolver::RuleRange&) + 253 (StyleResolver.cpp:696) 7 com.apple.WebCore 0x00000001120af5fc WebCore::StyleResolver::collectMatchingRules(WebCore::StyleResolver::MatchRequest const&, WebCore::StyleResolver::RuleRange&) + 1052 (StyleResolver.cpp:518) 8 com.apple.WebCore 0x00000001120b01b2 WebCore::StyleResolver::matchUARules(WebCore::StyleResolver::MatchResult&, WebCore::RuleSet*) + 162 (StyleResolver.cpp:675) 9 com.apple.WebCore 0x00000001120b05eb WebCore::StyleResolver::matchUARules(WebCore::StyleResolver::MatchResult&) + 171 (StyleResolver.cpp:1193) 10 com.apple.WebCore 0x00000001120b0289 WebCore::StyleResolver::matchAllRules(WebCore::StyleResolver::MatchResult&, bool) + 57 (StyleResolver.cpp:750) 11 com.apple.WebCore 0x00000001120ae46b WebCore::StyleResolver::styleForElement(WebCore::Element*, WebCore::RenderStyle*, WebCore::StyleSharingBehavior, WebCore::RuleMatchingBehavior, WebCore::RenderRegion*) + 1179 (StyleResolver.cpp:1445) 12 com.apple.WebCore 0x0000000110e8591b WebCore::Element::styleForRenderer() + 283 (Element.cpp:1330) 13 com.apple.WebCore 0x0000000110e85abd WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 397 (Element.cpp:1350) 14 com.apple.WebCore 0x0000000110e85fdd WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1709 (Element.cpp:1419) 15 com.apple.WebCore 0x0000000110e85fdd WebCore::Element::recalcStyle(WebCore::Node::StyleChange) + 1709 (Element.cpp:1419) 16 com.apple.WebCore 0x0000000110c71cde WebCore::Document::recalcStyle(WebCore::Node::StyleChange) + 1166 (Document.cpp:1804) 17 com.apple.WebCore 0x0000000110c6dedc WebCore::Document::updateStyleIfNeeded() + 396 (Document.cpp:1852) 18 com.apple.WebCore 0x0000000111e934ed WebCore::RenderView::repaintSelection() const + 45 (RenderView.cpp:563) 19 com.apple.WebCore 0x0000000110fc053e WebCore::FrameSelection::focusedOrActiveStateChanged() + 78 (FrameSelection.cpp:1691) 20 com.apple.WebCore 0x0000000110fc0a6a WebCore::FrameSelection::setFocused(bool) + 106 (FrameSelection.cpp:1739) 21 com.apple.WebCore 0x0000000110f40c0d WebCore::FocusController::setFocused(bool) + 269 (FocusController.cpp:227) 22 com.apple.WebKit 0x000000011021d8f1 -[WebHTMLView becomeFirstResponder] + 609 (WebHTMLView.mm:3844) 23 com.apple.AppKit 0x00007fff956758e8 -[NSWindow makeFirstResponder:] + 702 24 com.apple.WebKit 0x00000001101aa98e -[WebDefaultUIDelegate webView:makeFirstResponder:] + 62 (WebDefaultUIDelegate.m:99) 25 com.apple.CoreFoundation 0x00007fff8f6e863c __invoking___ + 140 26 com.apple.CoreFoundation 0x00007fff8f6e84d7 -[NSInvocation invoke] + 263 27 com.apple.CoreFoundation 0x00007fff8f6e86a9 -[NSInvocation invokeWithTarget:] + 57 28 com.apple.WebKit 0x00000001102b7e09 -[_WebSafeForwarder forwardInvocation:] + 361 (WebView.mm:3128) 29 com.apple.CoreFoundation 0x00007fff8f6e3737 ___forwarding___ + 775 30 com.apple.CoreFoundation 0x00007fff8f6e33b8 _CF_forwarding_prep_0 + 232 31 com.apple.WebKit 0x000000011019c3d1 WebChromeClient::makeFirstResponder(NSResponder*) + 129 (WebChromeClient.mm:778) 32 com.apple.WebCore 0x00000001109dfa81 WebCore::Chrome::focusNSView(NSView*) + 369 (ChromeMac.mm:46) 33 com.apple.WebCore 0x000000011237f209 WebCore::Widget::setFocus(bool) + 201 (WidgetMac.mm:113) 34 com.apple.WebCore 0x0000000110c77d37 WebCore::Document::setFocusedNode(WTF::PassRefPtr<WebCore::Node>, WebCore::FocusDirection) + 2071 (Document.cpp:3414) 35 com.apple.WebCore 0x0000000110f42c1d WebCore::FocusController::setFocusedNode(WebCore::Node*, WTF::PassRefPtr<WebCore::Frame>, WebCore::FocusDirection) + 973 (FocusController.cpp:620) 36 com.apple.WebCore 0x0000000110e880f2 WebCore::Element::focus(bool, WebCore::FocusDirection) + 306 (Element.cpp:1894) 37 com.apple.WebCore 0x000000011116ef9f WebCore::HTMLInputElement::focus(bool, WebCore::FocusDirection) + 111 (HTMLInputElement.cpp:377) 38 com.apple.WebCore 0x0000000111556bac WebCore::jsElementPrototypeFunctionFocus(JSC::ExecState*) + 444 (JSElement.cpp:1991) 39 ??? 0x00002ae2a6801045 0 + 47152944386117 40 com.apple.JavaScriptCore 0x000000010f197fe4 JSC::JITCode::execute(JSC::JSStack*, JSC::ExecState*, JSC::JSGlobalData*) + 84 (JITCode.h:135) 41 com.apple.JavaScriptCore 0x000000010f190719 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*) + 2169 (Interpreter.cpp:1321) 42 com.apple.JavaScriptCore 0x000000010f230565 JSC::globalFuncEval(JSC::ExecState*) + 997 (JSGlobalObjectFunctions.cpp:523) 43 com.apple.JavaScriptCore 0x000000010f195289 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1561 (Interpreter.cpp:1058) 44 com.apple.JavaScriptCore 0x000000010efa4a52 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 306 (CallData.cpp:40) 45 com.apple.WebCore 0x000000011168ee52 WebCore::JSInjectedScriptHost::evaluate(JSC::ExecState*) + 482 (JSInjectedScriptHostCustom.cpp:304) 46 com.apple.WebCore 0x000000011168b82a WebCore::jsInjectedScriptHostPrototypeFunctionEvaluate(JSC::ExecState*) + 410 (JSInjectedScriptHost.cpp:310) 47 ??? 0x00002ae2a6801045 0 + 47152944386117 48 com.apple.JavaScriptCore 0x000000010f197fe4 JSC::JITCode::execute(JSC::JSStack*, JSC::ExecState*, JSC::JSGlobalData*) + 84 (JITCode.h:135) 49 com.apple.JavaScriptCore 0x000000010f19525f JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1519 (Interpreter.cpp:1055) 50 com.apple.JavaScriptCore 0x000000010efa4a52 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 306 (CallData.cpp:40) 51 com.apple.WebCore 0x0000000111425572 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 146 (JSMainThreadExecState.h:56) 52 com.apple.WebCore 0x0000000111f3b329 WebCore::ScriptFunctionCall::call(bool&, bool) + 537 (ScriptFunctionCall.cpp:140) 53 com.apple.WebCore 0x000000011125bae5 WebCore::InjectedScriptBase::callFunctionWithEvalEnabled(WebCore::ScriptFunctionCall&, bool&) const + 213 (InjectedScriptBase.cpp:91) 54 com.apple.WebCore 0x000000011125bbc9 WebCore::InjectedScriptBase::makeCall(WebCore::ScriptFunctionCall&, WTF::RefPtr<WebCore::InspectorValue>*) + 137 (InjectedScriptBase.cpp:108) 55 com.apple.WebCore 0x000000011125bd7a WebCore::InjectedScriptBase::makeEvalCall(WTF::String*, WebCore::ScriptFunctionCall&, WTF::RefPtr<WebCore::TypeBuilder::Runtime::RemoteObject>*, WebCore::TypeBuilder::OptOutput<bool>*) + 74 (InjectedScriptBase.cpp:120) 56 com.apple.WebCore 0x0000000111256e6c WebCore::InjectedScript::evaluate(WTF::String*, WTF::String const&, WTF::String const&, bool, bool, bool, WTF::RefPtr<WebCore::TypeBuilder::Runtime::RemoteObject>*, WebCore::TypeBuilder::OptOutput<bool>*) + 316 (InjectedScript.cpp:72) 57 com.apple.WebCore 0x00000001113aadf8 WebCore::InspectorRuntimeAgent::evaluate(WTF::String*, WTF::String const&, WTF::String const*, bool const*, bool const*, int const*, bool const*, bool const*, WTF::RefPtr<WebCore::TypeBuilder::Runtime::RemoteObject>&, WebCore::TypeBuilder::OptOutput<bool>*) + 600 (InspectorRuntimeAgent.cpp:92) 58 com.apple.WebCore 0x00000001113ab043 non-virtual thunk to WebCore::InspectorRuntimeAgent::evaluate(WTF::String*, WTF::String const&, WTF::String const*, bool const*, bool const*, int const*, bool const*, bool const*, WTF::RefPtr<WebCore::TypeBuilder::Runtime::RemoteObject>&, WebCore::TypeBuilder::OptOutput<bool>*) + 179 59 com.apple.WebCore 0x00000001112a6bd1 WebCore::InspectorBackendDispatcherImpl::Runtime_evaluate(long, WebCore::InspectorObject*) + 1553 (InspectorBackendDispatcher.cpp:1662) 60 com.apple.WebCore 0x00000001112c4789 WebCore::InspectorBackendDispatcherImpl::dispatch(WTF::String const&) + 1833 (InspectorBackendDispatcher.cpp:6335) 61 com.apple.WebCore 0x00000001112d8390 WebCore::InspectorController::dispatchMessageFromFrontend(WTF::String const&) + 96 (InspectorController.cpp:357) 62 com.apple.WebCore 0x000000011135862e WebCore::InspectorBackendDispatchTask::onTimer(WebCore::Timer<WebCore::InspectorBackendDispatchTask>*) + 110 (InspectorFrontendClientLocal.cpp:94) 63 com.apple.WebCore 0x0000000111358a43 WebCore::Timer<WebCore::InspectorBackendDispatchTask>::fired() + 115 (Timer.h:106) 64 com.apple.WebCore 0x000000011229b356 WebCore::ThreadTimers::sharedTimerFiredInternal() + 294 (ThreadTimers.cpp:119) 65 com.apple.WebCore 0x000000011229b0e9 WebCore::ThreadTimers::sharedTimerFired() + 25 (ThreadTimers.cpp:94) 66 com.apple.WebCore 0x0000000111fcb513 WebCore::timerFired(__CFRunLoopTimer*, void*) + 67 (SharedTimerMac.mm:167) 67 com.apple.CoreFoundation 0x00007fff8f6b1da4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 68 com.apple.CoreFoundation 0x00007fff8f6b18bd __CFRunLoopDoTimer + 557 69 com.apple.CoreFoundation 0x00007fff8f697099 __CFRunLoopRun + 1513 70 com.apple.CoreFoundation 0x00007fff8f6966b2 CFRunLoopRunSpecific + 290 71 com.apple.Foundation 0x00007fff8c68489e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 268 72 DumpRenderTree 0x000000010edac009 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 5017 (DumpRenderTree.mm:1375) 73 DumpRenderTree 0x000000010edaabfa runTestingServerLoop() + 282 (DumpRenderTree.mm:832) 74 DumpRenderTree 0x000000010edaa5f5 dumpRenderTree(int, char const**) + 405 (DumpRenderTree.mm:887) 75 DumpRenderTree 0x000000010edac7f9 main + 105 (DumpRenderTree.mm:925) 76 libdyld.dylib 0x00007fff8f51f7e1 start + 1
Dean Jackson
Comment 64
2013-02-11 13:41:16 PST
Removed the offending style rule that was causing the crash. It's not really related to this commit, so I'll file another bug. Committed
r142507
: <
http://trac.webkit.org/changeset/142507
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug