<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>28800</bug_id>
          
          <creation_ts>2009-08-28 01:47:56 -0700</creation_ts>
          <short_desc>Inspected tab crashes in Chrome on inspected page refresh.</short_desc>
          <delta_ts>2009-09-01 13:14:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143327</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-28 01:47:56 -0700</bug_when>
    <thetext>Steps to reproduce:
1. Navigate to a page.
2. Open devtools window.
3. Refresh inspected page.
4. While the page is reloading close DevTools window.


	chrome.dll!v8::internal::OS::DebugBreak()  Line 882	C++
 	chrome.dll!v8::internal::OS::Abort()  Line 877	C++
 	chrome.dll!V8_Fatal(const char * file=0x0407715c, int line=48, const char * format=0x040712d8, ...)  Line 57	C++
 	chrome.dll!CheckHelper(const char * file=0x0407715c, int line=48, const char * source=0x040771d0, bool condition=false)  Line 62 + 0x16 bytes	C++
 	chrome.dll!v8::internal::Handle&lt;v8::internal::Context&gt;::operator*()  Line 48 + 0x1b bytes	C++
 	chrome.dll!v8::Context::Enter()  Line 431 + 0x8 bytes	C++
 	chrome.dll!v8::Context::Scope::Scope(v8::Handle&lt;v8::Context&gt; context={...})  Line 2511	C++
 	chrome.dll!WebCore::ScriptScope::ScriptScope(WebCore::ScriptState * scriptState=0x00eeb280, bool reportExceptions=true)  Line 49 + 0x46 bytes	C++
 	chrome.dll!WebCore::ScriptObject::createNew(WebCore::ScriptState * scriptState=0x00eeb280)  Line 110	C++
 	chrome.dll!WebCore::InspectorFrontend::newScriptObject()  Line 71 + 0x10 bytes	C++
 	chrome.dll!WebCore::InspectorDOMAgent::buildObjectForNode(WebCore::Node * node=0x01254000, int depth=2, WTF::HashMap&lt;WTF::RefPtr&lt;WebCore::Node&gt;,long,WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::Node&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Node&gt; &gt;,WTF::HashTraits&lt;long&gt; &gt; * nodesMap=0x0184b790)  Line 380	C++
 	chrome.dll!WebCore::InspectorDOMAgent::pushDocumentToFrontend()  Line 242 + 0x19 bytes	C++
&gt;	chrome.dll!WebCore::InspectorDOMAgent::handleEvent(WebCore::Event * event=0x01942dc0, bool __formal=false)  Line 180 + 0x8 bytes	C++
 	chrome.dll!WebCore::Node::handleLocalEvents(WebCore::Event * event=0x01942dc0, bool useCapture=false)  Line 2466 + 0x20 bytes	C++
 	chrome.dll!WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr&lt;WebCore::Event&gt; prpEvent={...})  Line 2587 + 0x1d bytes	C++
 	chrome.dll!WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt; e={...}, int &amp; ec=0)  Line 2520 + 0x12 bytes	C++
 	chrome.dll!WebCore::Document::finishedParsing()  Line 3944	C++
 	chrome.dll!WebCore::HTMLParser::finished()  Line 1635 + 0x1a bytes	C++
 	chrome.dll!WebCore::HTMLTokenizer::end()  Line 1847	C++
 	chrome.dll!WebCore::HTMLTokenizer::write(const WebCore::SegmentedString &amp; str={...}, bool appendData=true)  Line 1791	C++
 	chrome.dll!WebCore::HTMLTokenizer::timerFired(WebCore::Timer&lt;WebCore::HTMLTokenizer&gt; * __formal=0x012fe578)  Line 1824 + 0x1a bytes	C++
 	chrome.dll!WebCore::Timer&lt;WebCore::HTMLTokenizer&gt;::fired()  Line 98 + 0x29 bytes	C++
 	chrome.dll!WebCore::ThreadTimers::fireTimers(double fireTime=1251446396.6920252, const WTF::Vector&lt;WebCore::TimerBase *,0&gt; &amp; firingTimers={...})  Line 111 + 0xf bytes	C++
 	chrome.dll!WebCore::ThreadTimers::sharedTimerFiredInternal()  Line 143	C++
 	chrome.dll!WebCore::ThreadTimers::sharedTimerFired()  Line 123	C++
 	chrome.dll!webkit_glue::WebKitClientImpl::DoTimeout()  Line 66 + 0xa bytes	C++
 	chrome.dll!DispatchToMethod&lt;webkit_glue::WebKitClientImpl,void (__thiscall webkit_glue::WebKitClientImpl::*)(void)&gt;(webkit_glue::WebKitClientImpl * obj=0x00e289c0, void (void)* method=0x0258d320, const Tuple0 &amp; arg={...})  Line 412 + 0x8 bytes	C++
 	chrome.dll!base::BaseTimer&lt;webkit_glue::WebKitClientImpl,0&gt;::TimerTask::Run()  Line 160 + 0x1c bytes	C++
 	chrome.dll!MessageLoop::RunTask(Task * task=0x01847f00)  Line 314 + 0xf bytes	C++
 	chrome.dll!MessageLoop::DeferOrRunPendingTask(const MessageLoop::PendingTask &amp; pending_task={...})  Line 325	C++
 	chrome.dll!MessageLoop::DoWork()  Line 429 + 0xc bytes	C++
 	chrome.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate=0x0012f580)  Line 23 + 0xf bytes	C++
 	chrome.dll!MessageLoop::RunInternal()  Line 199 + 0x2a bytes	C++
 	chrome.dll!MessageLoop::RunHandler()  Line 182	C++
 	chrome.dll!MessageLoop::Run()  Line 156	C++
 	chrome.dll!RendererMain(const MainFunctionParams &amp; parameters={...})  Line 164	C++
 	chrome.dll!ChromeMain(HINSTANCE__ * instance=0x00400000, sandbox::SandboxInterfaceInfo * sandbox_info=0x0012fe9c, wchar_t * command_line=0x000209b4)  Line 539 + 0xc bytes	C++
 	chrome.exe!wWinMain(HINSTANCE__ * instance=0x00400000, HINSTANCE__ * prev_instance=0x00000000, wchar_t * command_line=0x000209b4, int __formal=10)  Line 102 + 0x14 bytes	C++
 	chrome.exe!__tmainCRTStartup()  Line 324 + 0x35 bytes	C
 	chrome.exe!wWinMainCRTStartup()  Line 196	C
 	kernel32.dll!7c817077() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143333</commentid>
    <comment_count>1</comment_count>
      <attachid>38725</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-28 03:10:31 -0700</bug_when>
    <thetext>Created attachment 38725
Set DOM agent document to 0 when inspector closes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143347</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-08-28 06:42:38 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
Committed r47862</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143351</commentid>
    <comment_count>3</comment_count>
      <attachid>38729</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-28 06:44:38 -0700</bug_when>
    <thetext>Created attachment 38729
Check that DOM agent and inspector frontend are not nulls when accessing them from InspectorBackend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143352</commentid>
    <comment_count>4</comment_count>
      <attachid>38730</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-28 06:47:43 -0700</bug_when>
    <thetext>Created attachment 38730
Check that DOM agent and inspector frontend are not nulls when accessing them from InspectorBackend. 

(removed an empty line from getChildNodes)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143648</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-31 06:37:03 -0700</bug_when>
    <thetext>We need to check that front-end and DOM agent exist when they are acccessed from InspectorBackand. A patch is already prepared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143649</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-08-31 06:37:43 -0700</bug_when>
    <thetext>We need to check that front-end and DOM agent exist when they are acccessed from InspectorBackand. A patch is already prepared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143811</commentid>
    <comment_count>7</comment_count>
      <attachid>38725</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-01 03:02:45 -0700</bug_when>
    <thetext>Comment on attachment 38725
Set DOM agent document to 0 when inspector closes

Looks like this was landed.  Removing Tim&apos;s r+ so that it doesn&apos;t appear in the commit-queue since this bug seems to be being re-used for a second patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143986</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-01 13:14:50 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
    M    WebCore/ChangeLog
    M    WebCore/inspector/InspectorBackend.cpp
    M    WebCore/inspector/InspectorBackend.h
Committed r47944</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38725</attachid>
            <date>2009-08-28 03:10:31 -0700</date>
            <delta_ts>2009-09-01 03:02:45 -0700</delta_ts>
            <desc>Set DOM agent document to 0 when inspector closes</desc>
            <filename>clear-dom-agent.patch</filename>
            <type>text/plain</type>
            <size>8127</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzg1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDktMDgtMjggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2V0IERPTSBhZ2VudCBkb2N1bWVudCB0byAwIGluIEluc3BlY3RvckNvbnRyb2xsZXI6OmNs
b3NlIHRvCisgICAgICAgIG1ha2UgRE9NIGFnZW50IHJlbW92ZSBET00gbGlzdGVuZXJzIGZyb20g
dGhlIGluc3BlY3RlZCBkb2N1bWVudC4KKworICAgICAgICBSZXBsYWNlIHdpbmRvd1Zpc2libGUg
Y2hlY2tzIHdpdGggbV9mcm9udGVuZCBjaGVja3MgdG8gYXMgaW5zcGVjdG9yCisgICAgICAgIHdp
bmRvdyBsaXZlcyBpbiBhIGRpZmZlcmVudCBwcm9jZXNzIGluIENocm9taXVtIHdoaWxlIGZyb250
ZW5kIHByb3h5CisgICAgICAgIGlzIGluIHRoZSBpbnNwZWN0ZWQgcGFnZSBwcm9jZXNzLgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyOjphZGRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDb250cm9sbGVyOjpwcnVuZVJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDb250cm9sbGVyOjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjppZGVudGlmaWVyRm9ySW5pdGlhbFJlcXVlc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZl
Q29udGVudExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6
OmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6
OnJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyOjpzY3JpcHRJbXBvcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyOjpkaWRPcGVuRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkVXNlRE9NU3RvcmFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjphZGRQcm9maWxlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oOgorCiAyMDA5LTA4LTI4ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCAocGF0Y2hpbmcgaW4g
bDE4biBjaGFuZ2UgdGhhdCB3YXMgbWlzc2luZyBkdWUgdG8KSW5kZXg6IFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA0Nzg1OSkKKysrIFdlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjIs
OCArMjYyLDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0KE5vZGUqIAogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHdpbmRvd1Zpc2libGUoKSkKLSAgICAgICAg
Zm9jdXNOb2RlKCk7CisgICAgZm9jdXNOb2RlKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6Zm9jdXNOb2RlKCkKQEAgLTM3OSw3ICszNzgsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmFkZENvbnNvbGVNZXNzCiAgICAgICAgIG1fY29uc29sZU1lc3NhZ2VzLmFwcGVuZChj
b25zb2xlTWVzc2FnZSk7CiAgICAgfQogCi0gICAgaWYgKHdpbmRvd1Zpc2libGUoKSkKKyAgICBp
ZiAobV9mcm9udGVuZCkKICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UtPmFkZFRvQ29uc29sZSht
X2Zyb250ZW5kLmdldCgpKTsKIH0KIApAQCAtNjAyLDYgKzYwMSwxMCBAQCB2b2lkIEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmNsb3NlKCkKIAogICAgIG1fZnJvbnRlbmQuc2V0KDApOwogICAgIG1faW5q
ZWN0ZWRTY3JpcHRPYmogPSBTY3JpcHRPYmplY3QoKTsKKyAgICAvLyBtX2RvbUFnZW50IGlzIFJl
ZlB0ci4gUmVtb3ZlIERPTSBsaXN0ZW5lcnMgZmlyc3QgdG8gZW5zdXJlIHRoYXQgdGhlcmUgYXJl
CisgICAgLy8gbm8gcmVmZXJlbmNlcyB0byB0aGUgRE9NIGFnZW50IGZyb20gdGhlIERPTSB0cmVl
LgorICAgIGlmIChtX2RvbUFnZW50KQorICAgICAgICBtX2RvbUFnZW50LT5zZXREb2N1bWVudCgw
KTsKICAgICBtX2RvbUFnZW50ID0gMDsKICAgICBtX3NjcmlwdFN0YXRlID0gMDsKIH0KQEAgLTY5
NCw3ICs2OTcsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnBydW5lUmVzb3VyY2VzCiAK
ICAgICAgICAgaWYgKCFsb2FkZXJUb0tlZXAgfHwgIXJlc291cmNlLT5pc1NhbWVMb2FkZXIobG9h
ZGVyVG9LZWVwKSkgewogICAgICAgICAgICAgcmVtb3ZlUmVzb3VyY2UocmVzb3VyY2UpOwotICAg
ICAgICAgICAgaWYgKHdpbmRvd1Zpc2libGUoKSkKKyAgICAgICAgICAgIGlmIChtX2Zyb250ZW5k
KQogICAgICAgICAgICAgICAgIHJlc291cmNlLT5yZWxlYXNlU2NyaXB0T2JqZWN0KG1fZnJvbnRl
bmQuZ2V0KCksIHRydWUpOwogICAgICAgICB9CiAgICAgfQpAQCAtNzI2LDcgKzcyOSw3IEBAIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ29tbWl0TG9hZCgKICAgICAgICAgbV9kb21TdG9y
YWdlUmVzb3VyY2VzLmNsZWFyKCk7CiAjZW5kaWYKIAotICAgICAgICBpZiAod2luZG93VmlzaWJs
ZSgpKSB7CisgICAgICAgIGlmIChtX2Zyb250ZW5kKSB7CiAgICAgICAgICAgICByZXNldFNjcmlw
dE9iamVjdHMoKTsKIAogICAgICAgICAgICAgaWYgKCFsb2FkZXItPmZyYW1lTG9hZGVyKCktPmlz
TG9hZGluZ0Zyb21DYWNoZWRQYWdlKCkpIHsKQEAgLTgzNyw3ICs4NDAsNyBAQCB2b2lkIEluc3Bl
Y3RvckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjCiAKICAgICBhZGRSZXNvdXJjZShyZXNvdXJj
ZS5nZXQoKSk7CiAKLSAgICBpZiAod2luZG93VmlzaWJsZSgpKQorICAgIGlmIChtX2Zyb250ZW5k
KQogICAgICAgICByZXNvdXJjZS0+Y3JlYXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkp
OwogfQogCkBAIC04NjMsNyArODY2LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppZGVu
dGlmaWVyRm9ySQogCiAgICAgYWRkUmVzb3VyY2UocmVzb3VyY2UuZ2V0KCkpOwogCi0gICAgaWYg
KHdpbmRvd1Zpc2libGUoKSAmJiBsb2FkZXItPmZyYW1lTG9hZGVyKCktPmlzTG9hZGluZ0Zyb21D
YWNoZWRQYWdlKCkgJiYgcmVzb3VyY2UgPT0gbV9tYWluUmVzb3VyY2UpCisgICAgaWYgKG1fZnJv
bnRlbmQgJiYgbG9hZGVyLT5mcmFtZUxvYWRlcigpLT5pc0xvYWRpbmdGcm9tQ2FjaGVkUGFnZSgp
ICYmIHJlc291cmNlID09IG1fbWFpblJlc291cmNlKQogICAgICAgICByZXNvdXJjZS0+Y3JlYXRl
U2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCkBAIC04ODUsNyArODg4LDcgQEAg
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlcwogICAgICAgICByZXNvdXJj
ZS0+dXBkYXRlUmVzcG9uc2UocmVkaXJlY3RSZXNwb25zZSk7CiAgICAgfQogCi0gICAgaWYgKHJl
c291cmNlICE9IG1fbWFpblJlc291cmNlICYmIHdpbmRvd1Zpc2libGUoKSkKKyAgICBpZiAocmVz
b3VyY2UgIT0gbV9tYWluUmVzb3VyY2UgJiYgbV9mcm9udGVuZCkKICAgICAgICAgcmVzb3VyY2Ut
PmNyZWF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIApAQCAtODk4LDcgKzkw
MSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3AKICAgICByZXNv
dXJjZS0+dXBkYXRlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIHJlc291cmNlLT5tYXJrUmVzcG9u
c2VSZWNlaXZlZFRpbWUoKTsKIAotICAgIGlmICh3aW5kb3dWaXNpYmxlKCkpCisgICAgaWYgKG1f
ZnJvbnRlbmQpCiAgICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9mcm9udGVu
ZC5nZXQoKSk7CiB9CiAKQEAgLTkxMCw3ICs5MTMsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpZFJlY2VpdmVDb250CiAKICAgICByZXNvdXJjZS0+YWRkTGVuZ3RoKGxlbmd0aFJlY2Vp
dmVkKTsKIAotICAgIGlmICh3aW5kb3dWaXNpYmxlKCkpCisgICAgaWYgKG1fZnJvbnRlbmQpCiAg
ICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5nZXQoKSk7CiB9
CiAKQEAgLTkyNiw3ICs5MjksNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlz
aExvYWRpCiAKICAgICBhZGRSZXNvdXJjZShyZXNvdXJjZS5nZXQoKSk7CiAKLSAgICBpZiAod2lu
ZG93VmlzaWJsZSgpKQorICAgIGlmIChtX2Zyb250ZW5kKQogICAgICAgICByZXNvdXJjZS0+dXBk
YXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCkBAIC05NDMsNyArOTQ2LDcg
QEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGYWlsTG9hZGluZwogCiAgICAgYWRkUmVz
b3VyY2UocmVzb3VyY2UuZ2V0KCkpOwogCi0gICAgaWYgKHdpbmRvd1Zpc2libGUoKSkKKyAgICBp
ZiAobV9mcm9udGVuZCkKICAgICAgICAgcmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zy
b250ZW5kLmdldCgpKTsKIH0KIApAQCAtOTU4LDcgKzk2MSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6cmVzb3VyY2VSZXRyaWUKIAogICAgIHJlc291cmNlLT5zZXRYTUxIdHRwUmVzcG9u
c2VUZXh0KHNvdXJjZVN0cmluZyk7CiAKLSAgICBpZiAod2luZG93VmlzaWJsZSgpKQorICAgIGlm
IChtX2Zyb250ZW5kKQogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2NyaXB0T2JqZWN0KG1fZnJv
bnRlbmQuZ2V0KCkpOwogfQogCkBAIC05NzUsNyArOTc4LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpzY3JpcHRJbXBvcnRlZAogICAgIC8vIHRoaW5nIGJ5IHRoZSBJbnNwZWN0b3IuIFRo
ZXkgc2hvdWxkIGJlIG1hZGUgaW50byBkaXN0aW5jdCB0eXBlcy4KICAgICByZXNvdXJjZS0+c2V0
WE1MSHR0cFJlc3BvbnNlVGV4dChTY3JpcHRTdHJpbmcoc291cmNlU3RyaW5nKSk7CiAgICAgCi0g
ICAgaWYgKHdpbmRvd1Zpc2libGUoKSkKKyAgICBpZiAobV9mcm9udGVuZCkKICAgICAgICAgcmVz
b3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIApAQCAtMTAz
Myw3ICsxMDM2LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRPcGVuRGF0YWJhcwog
CiAgICAgbV9kYXRhYmFzZVJlc291cmNlcy5hZGQocmVzb3VyY2UpOwogCi0gICAgaWYgKHdpbmRv
d1Zpc2libGUoKSkKKyAgICBpZiAobV9mcm9udGVuZCkKICAgICAgICAgcmVzb3VyY2UtPmJpbmQo
bV9mcm9udGVuZC5nZXQoKSk7CiB9CiAjZW5kaWYKQEAgLTEwNTMsNyArMTA1Niw3IEBAIHZvaWQg
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkVXNlRE9NU3RvcmEKICAgICBSZWZQdHI8SW5zcGVjdG9y
RE9NU3RvcmFnZVJlc291cmNlPiByZXNvdXJjZSA9IEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJj
ZTo6Y3JlYXRlKGRvbVN0b3JhZ2UuZ2V0KCksIGlzTG9jYWxTdG9yYWdlLCBmcmFtZSk7CiAKICAg
ICBtX2RvbVN0b3JhZ2VSZXNvdXJjZXMuYWRkKHJlc291cmNlKTsKLSAgICBpZiAod2luZG93Vmlz
aWJsZSgpKQorICAgIGlmIChtX2Zyb250ZW5kKQogICAgICAgICByZXNvdXJjZS0+YmluZChtX2Zy
b250ZW5kLmdldCgpKTsKIH0KICNlbmRpZgpAQCAtMTA3Nyw4ICsxMDgwLDEwIEBAIHZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6YWRkUHJvZmlsZShQYXMKICAgICBSZWZQdHI8UHJvZmlsZT4gcHJv
ZmlsZSA9IHBycFByb2ZpbGU7CiAgICAgbV9wcm9maWxlcy5hcHBlbmQocHJvZmlsZSk7CiAKLSAg
ICBpZiAod2luZG93VmlzaWJsZSgpKQotICAgICAgICBhZGRTY3JpcHRQcm9maWxlKHByb2ZpbGUu
Z2V0KCkpOworICAgIGlmIChtX2Zyb250ZW5kKSB7CisgICAgICAgIEpTTG9jayBsb2NrKFNpbGVu
Y2VBc3NlcnRpb25zT25seSk7CisgICAgICAgIG1fZnJvbnRlbmQtPmFkZFByb2ZpbGUodG9KUyht
X3NjcmlwdFN0YXRlLCBwcm9maWxlLmdldCgpKSk7CisgICAgfQogCiAgICAgYWRkUHJvZmlsZUZp
bmlzaGVkTWVzc2FnZVRvQ29uc29sZShwcm9maWxlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwog
fQpAQCAtMTEwMywxNSArMTEwOCw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6YWRkU3Rh
cnRQcm9maWwKICAgICBhZGRNZXNzYWdlVG9Db25zb2xlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJM
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjphZGRTY3JpcHRQcm9maWxlKFByb2Zp
bGUqIHByb2ZpbGUpCi17Ci0gICAgaWYgKCFtX2Zyb250ZW5kKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIG1fZnJvbnRlbmQt
PmFkZFByb2ZpbGUodG9KUyhtX3NjcmlwdFN0YXRlLCBwcm9maWxlKSk7Ci19Ci0KIFVTdHJpbmcg
SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZShi
b29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIgPSBmYWxzZSkKIHsKICAgICBpZiAoaW5jcmVtZW50
UHJvZmlsZU51bWJlcikKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmgJKHJldmlzaW9uIDQ3ODU5KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDYgQEAgcHVibGljOgogICAgIHZv
aWQgYWRkUHJvZmlsZShQYXNzUmVmUHRyPEpTQzo6UHJvZmlsZT4sIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIGNvbnN0IEpTQzo6VVN0cmluZyYgc291cmNlVVJMKTsKICAgICB2b2lkIGFkZFByb2ZpbGVG
aW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxKU0M6OlByb2ZpbGU+LCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCBjb25zdCBKU0M6OlVTdHJpbmcmIHNvdXJjZVVSTCk7CiAgICAgdm9pZCBh
ZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoY29uc3QgSlNDOjpVU3RyaW5nJiB0aXRs
ZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgSlNDOjpVU3RyaW5nJiBzb3VyY2VVUkwpOwot
ICAgIHZvaWQgYWRkU2NyaXB0UHJvZmlsZShKU0M6OlByb2ZpbGUqKTsKICAgICBjb25zdCBQcm9m
aWxlc0FycmF5JiBwcm9maWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZmlsZXM7IH0KIAogICAg
IGJvb2wgaXNSZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGU7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38729</attachid>
            <date>2009-08-28 06:44:38 -0700</date>
            <delta_ts>2009-08-28 06:47:43 -0700</delta_ts>
            <desc>Check that DOM agent and inspector frontend are not nulls when accessing them from InspectorBackend.</desc>
            <filename>ib-check.patch</filename>
            <type>text/plain</type>
            <size>6901</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzg2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMDktMDgtMjggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hlY2sgdGhhdCBJbnNwZWN0b3JET01BZ2VudCBhbmQgSW5zcGVjdG9yRnJvbnRlbmQgYXJl
IG5vdCBudWxsCisgICAgICAgIGJlZm9yZSBhY2Nlc3NpbmcgdGhlbSBpbiBJbnNwZWN0b3JCYWNr
ZW5kLiBUaGV5IG1heSBiZSBudWxsIGlmCisgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIgaXMg
Y2xvc2VkIGJlZm9yZSBhbiBhc3luY2hyb25vdXMgb3BlcmF0aW9uIGlzCisgICAgICAgIHN0YXJ0
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODgw
MAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6Z2V0Q29va2llcyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JCYWNrZW5kOjpnZXRDaGlsZE5vZGVzKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckJhY2tlbmQ6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JCYWNrZW5kOjpyZW1vdmVBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QmFja2VuZDo6c2V0VGV4dE5vZGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JC
YWNrZW5kOjpoaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6
bm9kZUZvcklkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6OnB1c2hOb2Rl
UGF0aFRvRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6YWRk
Tm9kZXNUb1NlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5k
OjpzZWxlY3REYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpz
ZWxlY3RET01TdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6Omlu
c3BlY3RvckRPTUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6Omlu
c3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5o
OgorCiAyMDA5LTA4LTI4ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAJKHJldmlzaW9uIDQ3ODYxKQorKysgV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MywxMSAr
MjUzLDggQEAgY29uc3QgU3RyaW5nJiBJbnNwZWN0b3JCYWNrZW5kOjpwbGF0Zm9ybQogCiB2b2lk
IEluc3BlY3RvckJhY2tlbmQ6OmdldENvb2tpZXMobG9uZyBjYWxsSWQpCiB7Ci0gICAgaWYgKCFt
X2luc3BlY3RvckNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1faW5zcGVj
dG9yQ29udHJvbGxlci0+bV9kb21BZ2VudCB8fCAhbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zy
b250ZW5kKQotICAgICAgICByZXR1cm47Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21B
Z2VudCgpLT5nZXRDb29raWVzKGNhbGxJZCk7CisgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBk
b21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFnZW50LT5nZXRDb29r
aWVzKGNhbGxJZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6ZGVsZXRlQ29va2llKGNv
bnN0IFN0cmluZyYgY29va2llTmFtZSkKQEAgLTM4Miw0MSArMzc5LDM5IEBAIHZvaWQgSW5zcGVj
dG9yQmFja2VuZDo6c3RlcE91dE9mRnVuY3Rpb24KIAogdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpn
ZXRDaGlsZE5vZGVzKGxvbmcgY2FsbElkLCBsb25nIG5vZGVJZCkKIHsKLSAgICBpZiAobV9pbnNw
ZWN0b3JDb250cm9sbGVyKQotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRvbUFnZW50
KCktPmdldENoaWxkTm9kZXMoY2FsbElkLCBub2RlSWQpOworCisgICAgaWYgKEluc3BlY3RvckRP
TUFnZW50KiBkb21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFnZW50
LT5nZXRDaGlsZE5vZGVzKGNhbGxJZCwgbm9kZUlkKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JCYWNr
ZW5kOjpzZXRBdHRyaWJ1dGUobG9uZyBjYWxsSWQsIGxvbmcgZWxlbWVudElkLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG1faW5zcGVjdG9yQ29u
dHJvbGxlcikKLSAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21BZ2VudCgpLT5zZXRB
dHRyaWJ1dGUoY2FsbElkLCBlbGVtZW50SWQsIG5hbWUsIHZhbHVlKTsKKyAgICBpZiAoSW5zcGVj
dG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5zcGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9t
QWdlbnQtPnNldEF0dHJpYnV0ZShjYWxsSWQsIGVsZW1lbnRJZCwgbmFtZSwgdmFsdWUpOwogfQog
CiB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OnJlbW92ZUF0dHJpYnV0ZShsb25nIGNhbGxJZCwgbG9u
ZyBlbGVtZW50SWQsIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAobV9pbnNwZWN0b3JD
b250cm9sbGVyKQotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRvbUFnZW50KCktPnJl
bW92ZUF0dHJpYnV0ZShjYWxsSWQsIGVsZW1lbnRJZCwgbmFtZSk7CisgICAgaWYgKEluc3BlY3Rv
ckRPTUFnZW50KiBkb21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFn
ZW50LT5yZW1vdmVBdHRyaWJ1dGUoY2FsbElkLCBlbGVtZW50SWQsIG5hbWUpOwogfQogCiB2b2lk
IEluc3BlY3RvckJhY2tlbmQ6OnNldFRleHROb2RlVmFsdWUobG9uZyBjYWxsSWQsIGxvbmcgbm9k
ZUlkLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewotICAgIGlmIChtX2luc3BlY3RvckNvbnRyb2xs
ZXIpCi0gICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+ZG9tQWdlbnQoKS0+c2V0VGV4dE5v
ZGVWYWx1ZShjYWxsSWQsIG5vZGVJZCwgdmFsdWUpOworICAgIGlmIChJbnNwZWN0b3JET01BZ2Vu
dCogZG9tQWdlbnQgPSBpbnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2VudC0+c2V0
VGV4dE5vZGVWYWx1ZShjYWxsSWQsIG5vZGVJZCwgdmFsdWUpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckJhY2tlbmQ6OmhpZ2hsaWdodChsb25nIG5vZGVJZCkKIHsKLSAgICBpZiAobV9pbnNwZWN0b3JD
b250cm9sbGVyKSB7Ci0gICAgICAgIE5vZGUqIG5vZGUgPSBtX2luc3BlY3RvckNvbnRyb2xsZXIt
PmRvbUFnZW50KCktPm5vZGVGb3JJZChub2RlSWQpOwotICAgICAgICBpZiAobm9kZSkKLSAgICAg
ICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+aGlnaGxpZ2h0KG5vZGUpOwotICAgIH0KKyAg
ICBpZiAoTm9kZSogbm9kZSA9IG5vZGVGb3JJZChub2RlSWQpKQorICAgICAgICBtX2luc3BlY3Rv
ckNvbnRyb2xsZXItPmhpZ2hsaWdodChub2RlKTsKIH0KIAogTm9kZSogSW5zcGVjdG9yQmFja2Vu
ZDo6bm9kZUZvcklkKGxvbmcgbm9kZUlkKQogewotICAgIGlmIChtX2luc3BlY3RvckNvbnRyb2xs
ZXIpCi0gICAgICAgIHJldHVybiBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRvbUFnZW50KCktPm5v
ZGVGb3JJZChub2RlSWQpOworICAgIGlmIChJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBp
bnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2VudC0+bm9kZUZvcklkKG5vZGVJZCk7
CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTQzNiw0MiArNDMxLDUwIEBAIFNjcmlwdFZhbHVlIElu
c3BlY3RvckJhY2tlbmQ6OnVud3JhcE9iamUKIAogbG9uZyBJbnNwZWN0b3JCYWNrZW5kOjpwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kKE5vZGUqIG5vZGUsIGJvb2wgc2VsZWN0SW5VSSkKIHsKLSAgICBp
ZiAoIW1faW5zcGVjdG9yQ29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCFt
X2luc3BlY3RvckNvbnRyb2xsZXItPm1fZG9tQWdlbnQgfHwgIW1faW5zcGVjdG9yQ29udHJvbGxl
ci0+bV9mcm9udGVuZCkKKyAgICBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQgPSBpbnNwZWN0
b3JGcm9udGVuZCgpOworICAgIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IGluc3BlY3Rv
ckRPTUFnZW50KCk7CisgICAgaWYgKCFkb21BZ2VudCB8fCAhZnJvbnRlbmQpCiAgICAgICAgIHJl
dHVybiAwOwotICAgIGxvbmcgaWQgPSBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fZG9tQWdlbnQt
PnB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSk7CisgICAgbG9uZyBpZCA9IGRvbUFnZW50LT5w
dXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpOwogICAgIGlmIChzZWxlY3RJblVJKQotICAgICAg
ICBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fZnJvbnRlbmQtPnVwZGF0ZUZvY3VzZWROb2RlKGlk
KTsKKyAgICAgICAgZnJvbnRlbmQtPnVwZGF0ZUZvY3VzZWROb2RlKGlkKTsKICAgICByZXR1cm4g
aWQ7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6YWRkTm9kZXNUb1NlYXJjaFJlc3VsdChj
b25zdCBTdHJpbmcmIG5vZGVJZHMpCiB7Ci0gICAgaWYgKG1faW5zcGVjdG9yQ29udHJvbGxlciAm
JiBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fZnJvbnRlbmQpCi0gICAgICAgIG1faW5zcGVjdG9y
Q29udHJvbGxlci0+bV9mcm9udGVuZC0+YWRkTm9kZXNUb1NlYXJjaFJlc3VsdChub2RlSWRzKTsK
KyAgICBpZiAoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kID0gaW5zcGVjdG9yRnJvbnRlbmQo
KSkKKyAgICAgICAgZnJvbnRlbmQtPmFkZE5vZGVzVG9TZWFyY2hSZXN1bHQobm9kZUlkcyk7CiB9
CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OnNlbGVjdERh
dGFiYXNlKERhdGFiYXNlKiBkYXRhYmFzZSkKIHsKLSAgICBpZiAoIW1faW5zcGVjdG9yQ29udHJv
bGxlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghbV9pbnNwZWN0b3JDb250cm9sbGVyLT5t
X2Zyb250ZW5kKQotICAgICAgICByZXR1cm47Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5t
X2Zyb250ZW5kLT5zZWxlY3REYXRhYmFzZShkYXRhYmFzZSk7CisgICAgaWYgKEluc3BlY3RvckZy
b250ZW5kKiBmcm9udGVuZCA9IGluc3BlY3RvckZyb250ZW5kKCkpCisgICAgICAgIGZyb250ZW5k
LT5zZWxlY3REYXRhYmFzZShkYXRhYmFzZSk7CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShET01f
U1RPUkFHRSkKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6c2VsZWN0RE9NU3RvcmFnZShTdG9yYWdl
KiBzdG9yYWdlKQogewotICAgIGlmICghbV9pbnNwZWN0b3JDb250cm9sbGVyKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fZnJvbnRlbmQpCi0gICAg
ICAgIHJldHVybjsKLSAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fZnJvbnRlbmQtPnNlbGVj
dERPTVN0b3JhZ2Uoc3RvcmFnZSk7CisgICAgaWYgKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCA9IGluc3BlY3RvckZyb250ZW5kKCkpCisgICAgICAgIGZyb250ZW5kLT5zZWxlY3RET01TdG9y
YWdlKHN0b3JhZ2UpOwogfQogI2VuZGlmCiAKK0luc3BlY3RvckRPTUFnZW50KiBJbnNwZWN0b3JC
YWNrZW5kOjppbnNwZWN0b3JET01BZ2VudCgpCit7CisgICAgaWYgKCFtX2luc3BlY3RvckNvbnRy
b2xsZXIpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2luc3BlY3RvckNvbnRyb2xs
ZXItPmRvbUFnZW50KCk7Cit9CisKK0luc3BlY3RvckZyb250ZW5kKiBJbnNwZWN0b3JCYWNrZW5k
OjppbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgaWYgKCFtX2luc3BlY3RvckNvbnRyb2xsZXIp
CisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1f
ZnJvbnRlbmQuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmgJKHJldmlzaW9uIDQ3ODYxKQorKysgV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDksNiArMTQ5
LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEluc3BlY3RvckJhY2tlbmQoSW5zcGVjdG9y
Q29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQp
OworICAgIEluc3BlY3RvckRPTUFnZW50KiBpbnNwZWN0b3JET01BZ2VudCgpOworICAgIEluc3Bl
Y3RvckZyb250ZW5kKiBpbnNwZWN0b3JGcm9udGVuZCgpOwogCiAgICAgSW5zcGVjdG9yQ29udHJv
bGxlciogbV9pbnNwZWN0b3JDb250cm9sbGVyOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGll
bnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38730</attachid>
            <date>2009-08-28 06:47:43 -0700</date>
            <delta_ts>2009-09-01 10:38:41 -0700</delta_ts>
            <desc>Check that DOM agent and inspector frontend are not nulls when accessing them from InspectorBackend. </desc>
            <filename>ib-check2.patch</filename>
            <type>text/plain</type>
            <size>6899</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzg2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMDktMDgtMjggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hlY2sgdGhhdCBJbnNwZWN0b3JET01BZ2VudCBhbmQgSW5zcGVjdG9yRnJvbnRlbmQgYXJl
IG5vdCBudWxsCisgICAgICAgIGJlZm9yZSBhY2Nlc3NpbmcgdGhlbSBpbiBJbnNwZWN0b3JCYWNr
ZW5kLiBUaGV5IG1heSBiZSBudWxsIGlmCisgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIgaXMg
Y2xvc2VkIGJlZm9yZSBhbiBhc3luY2hyb25vdXMgb3BlcmF0aW9uIGlzCisgICAgICAgIHN0YXJ0
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODgw
MAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6Z2V0Q29va2llcyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JCYWNrZW5kOjpnZXRDaGlsZE5vZGVzKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckJhY2tlbmQ6OnNldEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JCYWNrZW5kOjpyZW1vdmVBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QmFja2VuZDo6c2V0VGV4dE5vZGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JC
YWNrZW5kOjpoaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6
bm9kZUZvcklkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6OnB1c2hOb2Rl
UGF0aFRvRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZDo6YWRk
Tm9kZXNUb1NlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5k
OjpzZWxlY3REYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpz
ZWxlY3RET01TdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6Omlu
c3BlY3RvckRPTUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6Omlu
c3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5o
OgorCiAyMDA5LTA4LTI4ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAJKHJldmlzaW9uIDQ3ODYxKQorKysgV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MywxMSAr
MjUzLDggQEAgY29uc3QgU3RyaW5nJiBJbnNwZWN0b3JCYWNrZW5kOjpwbGF0Zm9ybQogCiB2b2lk
IEluc3BlY3RvckJhY2tlbmQ6OmdldENvb2tpZXMobG9uZyBjYWxsSWQpCiB7Ci0gICAgaWYgKCFt
X2luc3BlY3RvckNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1faW5zcGVj
dG9yQ29udHJvbGxlci0+bV9kb21BZ2VudCB8fCAhbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zy
b250ZW5kKQotICAgICAgICByZXR1cm47Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21B
Z2VudCgpLT5nZXRDb29raWVzKGNhbGxJZCk7CisgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBk
b21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFnZW50LT5nZXRDb29r
aWVzKGNhbGxJZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6ZGVsZXRlQ29va2llKGNv
bnN0IFN0cmluZyYgY29va2llTmFtZSkKQEAgLTM4Miw0MSArMzc5LDM4IEBAIHZvaWQgSW5zcGVj
dG9yQmFja2VuZDo6c3RlcE91dE9mRnVuY3Rpb24KIAogdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpn
ZXRDaGlsZE5vZGVzKGxvbmcgY2FsbElkLCBsb25nIG5vZGVJZCkKIHsKLSAgICBpZiAobV9pbnNw
ZWN0b3JDb250cm9sbGVyKQotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRvbUFnZW50
KCktPmdldENoaWxkTm9kZXMoY2FsbElkLCBub2RlSWQpOworICAgIGlmIChJbnNwZWN0b3JET01B
Z2VudCogZG9tQWdlbnQgPSBpbnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2VudC0+
Z2V0Q2hpbGROb2RlcyhjYWxsSWQsIG5vZGVJZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQmFja2Vu
ZDo6c2V0QXR0cmlidXRlKGxvbmcgY2FsbElkLCBsb25nIGVsZW1lbnRJZCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewotICAgIGlmIChtX2luc3BlY3RvckNvbnRy
b2xsZXIpCi0gICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+ZG9tQWdlbnQoKS0+c2V0QXR0
cmlidXRlKGNhbGxJZCwgZWxlbWVudElkLCBuYW1lLCB2YWx1ZSk7CisgICAgaWYgKEluc3BlY3Rv
ckRPTUFnZW50KiBkb21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCisgICAgICAgIGRvbUFn
ZW50LT5zZXRBdHRyaWJ1dGUoY2FsbElkLCBlbGVtZW50SWQsIG5hbWUsIHZhbHVlKTsKIH0KIAog
dm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpyZW1vdmVBdHRyaWJ1dGUobG9uZyBjYWxsSWQsIGxvbmcg
ZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7Ci0gICAgaWYgKG1faW5zcGVjdG9yQ29u
dHJvbGxlcikKLSAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21BZ2VudCgpLT5yZW1v
dmVBdHRyaWJ1dGUoY2FsbElkLCBlbGVtZW50SWQsIG5hbWUpOworICAgIGlmIChJbnNwZWN0b3JE
T01BZ2VudCogZG9tQWdlbnQgPSBpbnNwZWN0b3JET01BZ2VudCgpKQorICAgICAgICBkb21BZ2Vu
dC0+cmVtb3ZlQXR0cmlidXRlKGNhbGxJZCwgZWxlbWVudElkLCBuYW1lKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JCYWNrZW5kOjpzZXRUZXh0Tm9kZVZhbHVlKGxvbmcgY2FsbElkLCBsb25nIG5vZGVJ
ZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKLSAgICBpZiAobV9pbnNwZWN0b3JDb250cm9sbGVy
KQotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRvbUFnZW50KCktPnNldFRleHROb2Rl
VmFsdWUoY2FsbElkLCBub2RlSWQsIHZhbHVlKTsKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQq
IGRvbUFnZW50ID0gaW5zcGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQtPnNldFRl
eHROb2RlVmFsdWUoY2FsbElkLCBub2RlSWQsIHZhbHVlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JC
YWNrZW5kOjpoaWdobGlnaHQobG9uZyBub2RlSWQpCiB7Ci0gICAgaWYgKG1faW5zcGVjdG9yQ29u
dHJvbGxlcikgewotICAgICAgICBOb2RlKiBub2RlID0gbV9pbnNwZWN0b3JDb250cm9sbGVyLT5k
b21BZ2VudCgpLT5ub2RlRm9ySWQobm9kZUlkKTsKLSAgICAgICAgaWYgKG5vZGUpCi0gICAgICAg
ICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmhpZ2hsaWdodChub2RlKTsKLSAgICB9CisgICAg
aWYgKE5vZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlkKSkKKyAgICAgICAgbV9pbnNwZWN0b3JD
b250cm9sbGVyLT5oaWdobGlnaHQobm9kZSk7CiB9CiAKIE5vZGUqIEluc3BlY3RvckJhY2tlbmQ6
Om5vZGVGb3JJZChsb25nIG5vZGVJZCkKIHsKLSAgICBpZiAobV9pbnNwZWN0b3JDb250cm9sbGVy
KQotICAgICAgICByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21BZ2VudCgpLT5ub2Rl
Rm9ySWQobm9kZUlkKTsKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5z
cGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQtPm5vZGVGb3JJZChub2RlSWQpOwog
ICAgIHJldHVybiAwOwogfQogCkBAIC00MzYsNDIgKzQzMCw1MCBAQCBTY3JpcHRWYWx1ZSBJbnNw
ZWN0b3JCYWNrZW5kOjp1bndyYXBPYmplCiAKIGxvbmcgSW5zcGVjdG9yQmFja2VuZDo6cHVzaE5v
ZGVQYXRoVG9Gcm9udGVuZChOb2RlKiBub2RlLCBib29sIHNlbGVjdEluVUkpCiB7Ci0gICAgaWYg
KCFtX2luc3BlY3RvckNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICghbV9p
bnNwZWN0b3JDb250cm9sbGVyLT5tX2RvbUFnZW50IHx8ICFtX2luc3BlY3RvckNvbnRyb2xsZXIt
Pm1fZnJvbnRlbmQpCisgICAgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kID0gaW5zcGVjdG9y
RnJvbnRlbmQoKTsKKyAgICBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBpbnNwZWN0b3JE
T01BZ2VudCgpOworICAgIGlmICghZG9tQWdlbnQgfHwgIWZyb250ZW5kKQogICAgICAgICByZXR1
cm4gMDsKLSAgICBsb25nIGlkID0gbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2RvbUFnZW50LT5w
dXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpOworICAgIGxvbmcgaWQgPSBkb21BZ2VudC0+cHVz
aE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKTsKICAgICBpZiAoc2VsZWN0SW5VSSkKLSAgICAgICAg
bV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5kLT51cGRhdGVGb2N1c2VkTm9kZShpZCk7
CisgICAgICAgIGZyb250ZW5kLT51cGRhdGVGb2N1c2VkTm9kZShpZCk7CiAgICAgcmV0dXJuIGlk
OwogfQogCiB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OmFkZE5vZGVzVG9TZWFyY2hSZXN1bHQoY29u
c3QgU3RyaW5nJiBub2RlSWRzKQogewotICAgIGlmIChtX2luc3BlY3RvckNvbnRyb2xsZXIgJiYg
bV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5kKQotICAgICAgICBtX2luc3BlY3RvckNv
bnRyb2xsZXItPm1fZnJvbnRlbmQtPmFkZE5vZGVzVG9TZWFyY2hSZXN1bHQobm9kZUlkcyk7Cisg
ICAgaWYgKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCA9IGluc3BlY3RvckZyb250ZW5kKCkp
CisgICAgICAgIGZyb250ZW5kLT5hZGROb2Rlc1RvU2VhcmNoUmVzdWx0KG5vZGVJZHMpOwogfQog
CiAjaWYgRU5BQkxFKERBVEFCQVNFKQogdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpzZWxlY3REYXRh
YmFzZShEYXRhYmFzZSogZGF0YWJhc2UpCiB7Ci0gICAgaWYgKCFtX2luc3BlY3RvckNvbnRyb2xs
ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1faW5zcGVjdG9yQ29udHJvbGxlci0+bV9m
cm9udGVuZCkKLSAgICAgICAgcmV0dXJuOwotICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+bV9m
cm9udGVuZC0+c2VsZWN0RGF0YWJhc2UoZGF0YWJhc2UpOworICAgIGlmIChJbnNwZWN0b3JGcm9u
dGVuZCogZnJvbnRlbmQgPSBpbnNwZWN0b3JGcm9udGVuZCgpKQorICAgICAgICBmcm9udGVuZC0+
c2VsZWN0RGF0YWJhc2UoZGF0YWJhc2UpOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRE9NX1NU
T1JBR0UpCiB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OnNlbGVjdERPTVN0b3JhZ2UoU3RvcmFnZSog
c3RvcmFnZSkKIHsKLSAgICBpZiAoIW1faW5zcGVjdG9yQ29udHJvbGxlcikKLSAgICAgICAgcmV0
dXJuOwotICAgIGlmICghbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5kKQotICAgICAg
ICByZXR1cm47Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5kLT5zZWxlY3RE
T01TdG9yYWdlKHN0b3JhZ2UpOworICAgIGlmIChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQg
PSBpbnNwZWN0b3JGcm9udGVuZCgpKQorICAgICAgICBmcm9udGVuZC0+c2VsZWN0RE9NU3RvcmFn
ZShzdG9yYWdlKTsKIH0KICNlbmRpZgogCitJbnNwZWN0b3JET01BZ2VudCogSW5zcGVjdG9yQmFj
a2VuZDo6aW5zcGVjdG9yRE9NQWdlbnQoKQoreworICAgIGlmICghbV9pbnNwZWN0b3JDb250cm9s
bGVyKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVy
LT5kb21BZ2VudCgpOworfQorCitJbnNwZWN0b3JGcm9udGVuZCogSW5zcGVjdG9yQmFja2VuZDo6
aW5zcGVjdG9yRnJvbnRlbmQoKQoreworICAgIGlmICghbV9pbnNwZWN0b3JDb250cm9sbGVyKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zy
b250ZW5kLmdldCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5oCShyZXZpc2lvbiA0Nzg2MSkKKysrIFdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw4
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JCYWNrZW5kKEluc3BlY3RvckNv
bnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckNsaWVudCogY2xpZW50KTsK
KyAgICBJbnNwZWN0b3JET01BZ2VudCogaW5zcGVjdG9yRE9NQWdlbnQoKTsKKyAgICBJbnNwZWN0
b3JGcm9udGVuZCogaW5zcGVjdG9yRnJvbnRlbmQoKTsKIAogICAgIEluc3BlY3RvckNvbnRyb2xs
ZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1fY2xpZW50
Owo=
</data>
<flag name="review"
          id="19731"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>