<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[179573] trunk/Source/WebKit2</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/179573">179573</a></dd>
<dt>Author</dt> <dd>burg@cs.washington.edu</dd>
<dt>Date</dt> <dd>2015-02-03 15:21:47 -0800 (Tue, 03 Feb 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Convert WebInspectorProxy to use WKWebView API for the inspector view
https://bugs.webkit.org/show_bug.cgi?id=141037

Reviewed by Timothy Hatcher.

Use the newer API for PLATFORM(MAC). The main difference is that the
WKWebView's page group cannot be set directly; instead, the group identifier
is passed. Also add some preference setters needed for the inspector.

Refactor some code to not use page groups directly. In a future patch,
the PageGroup-based inspector level system will be simplified. It is
it is no longer necessary to keep a static map of PageGroup instances,
since they are only used to save inspector window preferences. (These used
to prevent all levels of inspector from pausing together when a second-level
inspector hit a breakpoint. This is not necessary with multi-process
web inspectors.)

Also, adjust window resizing behavior when the inspector is docked to
the right. Window width resizes should not affect the width of the inspector
frame. This matches the behavior of height changes when docked to the bottom.

To support 32-bit Mac builds where WKWebView is not defined, share the stub
platformFoo() implementations with PLATFORM(IOS). The stubs are now located
in the platform-independent WebInspectorProxy.cpp.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added.
(-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added.
(-[WKPreferences _allowFileAccessFromFileURLs]): Added.
(-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::inspectorPagePreferences):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::setAttachedWindowHeight):
(WebKit::WebInspectorProxy::setAttachedWindowWidth):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::shouldOpenAttached):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformOpen):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformInvalidate):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformHide):
(WebKit::WebInspectorProxy::platformIsFront):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformSave):
(WebKit::WebInspectorProxy::platformAppend):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformInspectedWindowWidth):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
(WebKit::WebInspectorProxy::platformSetToolbarHeight):
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorTestPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
* UIProcess/WebInspectorProxy.h:
* UIProcess/ios/WebInspectorProxyIOS.mm: Removed.
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorWKWebView _didRelaunchProcess]):
WKWebView doesn't implement this, so remove the super call.
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::createDockButton):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformAttach):
(-[WKWebInspectorWKView _didRelaunchProcess]): Deleted.
* WebKit2.xcodeproj/project.pbxproj:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKPreferencesmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKPreferencesPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebInspectorProxycpp">trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebInspectorProxyh">trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWebInspectorProxyMacmm">trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessiosWebInspectorProxyIOSmm">trunk/Source/WebKit2/UIProcess/ios/WebInspectorProxyIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/ChangeLog        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -1,3 +1,78 @@
</span><ins>+2015-02-03  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Convert WebInspectorProxy to use WKWebView API for the inspector view
+        https://bugs.webkit.org/show_bug.cgi?id=141037
+
+        Reviewed by Timothy Hatcher.
+
+        Use the newer API for PLATFORM(MAC). The main difference is that the
+        WKWebView's page group cannot be set directly; instead, the group identifier
+        is passed. Also add some preference setters needed for the inspector.
+
+        Refactor some code to not use page groups directly. In a future patch,
+        the PageGroup-based inspector level system will be simplified. It is
+        it is no longer necessary to keep a static map of PageGroup instances,
+        since they are only used to save inspector window preferences. (These used
+        to prevent all levels of inspector from pausing together when a second-level
+        inspector hit a breakpoint. This is not necessary with multi-process
+        web inspectors.)
+
+        Also, adjust window resizing behavior when the inspector is docked to
+        the right. Window width resizes should not affect the width of the inspector
+        frame. This matches the behavior of height changes when docked to the bottom.
+
+        To support 32-bit Mac builds where WKWebView is not defined, share the stub
+        platformFoo() implementations with PLATFORM(IOS). The stubs are now located
+        in the platform-independent WebInspectorProxy.cpp.
+
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added.
+        (-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added.
+        (-[WKPreferences _allowFileAccessFromFileURLs]): Added.
+        (-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added.
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::WebInspectorProxy::WebInspectorProxy):
+        (WebKit::WebInspectorProxy::inspectorPagePreferences):
+        (WebKit::WebInspectorProxy::attach):
+        (WebKit::WebInspectorProxy::detach):
+        (WebKit::WebInspectorProxy::setAttachedWindowHeight):
+        (WebKit::WebInspectorProxy::setAttachedWindowWidth):
+        (WebKit::WebInspectorProxy::createInspectorPage):
+        (WebKit::WebInspectorProxy::shouldOpenAttached):
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        (WebKit::WebInspectorProxy::platformOpen):
+        (WebKit::WebInspectorProxy::platformDidClose):
+        (WebKit::WebInspectorProxy::platformInvalidate):
+        (WebKit::WebInspectorProxy::platformBringToFront):
+        (WebKit::WebInspectorProxy::platformHide):
+        (WebKit::WebInspectorProxy::platformIsFront):
+        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
+        (WebKit::WebInspectorProxy::platformSave):
+        (WebKit::WebInspectorProxy::platformAppend):
+        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
+        (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
+        (WebKit::WebInspectorProxy::platformAttach):
+        (WebKit::WebInspectorProxy::platformDetach):
+        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
+        (WebKit::WebInspectorProxy::platformSetToolbarHeight):
+        (WebKit::WebInspectorProxy::inspectorPageURL):
+        (WebKit::WebInspectorProxy::inspectorTestPageURL):
+        (WebKit::WebInspectorProxy::inspectorBaseURL):
+        (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
+        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
+        * UIProcess/WebInspectorProxy.h:
+        * UIProcess/ios/WebInspectorProxyIOS.mm: Removed.
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (-[WKWebInspectorWKWebView _didRelaunchProcess]):
+        WKWebView doesn't implement this, so remove the super call.
+        (WebKit::WebInspectorProxy::closeTimerFired):
+        (WebKit::createDockButton):
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        (WebKit::WebInspectorProxy::platformAttach):
+        (-[WKWebInspectorWKView _didRelaunchProcess]): Deleted.
+        * WebKit2.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2015-02-03  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Memory cache for resources pending disk write
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKPreferencesmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -247,6 +247,26 @@
</span><span class="cx">     _preferences-&gt;setDeveloperExtrasEnabled(developerExtrasEnabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (BOOL)_logsPageMessagesToSystemConsoleEnabled
+{
+    return _preferences-&gt;logsPageMessagesToSystemConsoleEnabled();
+}
+
+- (void)_setLogsPageMessagesToSystemConsoleEnabled:(BOOL)logsPageMessagesToSystemConsoleEnabled
+{
+    _preferences-&gt;setLogsPageMessagesToSystemConsoleEnabled(logsPageMessagesToSystemConsoleEnabled);
+}
+
+- (BOOL)_allowFileAccessFromFileURLs
+{
+    return _preferences-&gt;allowFileAccessFromFileURLs();
+}
+
+- (void)_setAllowFileAccessFromFileURLs:(BOOL)allowFileAccessFromFileURLs
+{
+    _preferences-&gt;setAllowFileAccessFromFileURLs(allowFileAccessFromFileURLs);
+}
+
</ins><span class="cx"> - (BOOL)_isStandalone
</span><span class="cx"> {
</span><span class="cx">     return _preferences-&gt;standalone();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKPreferencesPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -56,6 +56,10 @@
</span><span class="cx"> 
</span><span class="cx"> @property (nonatomic, setter=_setDeveloperExtrasEnabled:) BOOL _developerExtrasEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><span class="cx"> 
</span><ins>+@property (nonatomic, setter=_setLogsPageMessagesToSystemConsoleEnabled:) BOOL _logsPageMessagesToSystemConsoleEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
+
+@property (nonatomic, setter=_setAllowFileAccessFromFileURLs:) BOOL _allowFileAccessFromFileURLs WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
+
</ins><span class="cx"> @property (nonatomic, setter=_setStandalone:, getter=_isStandalone) BOOL _standalone WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><span class="cx"> 
</span><span class="cx"> @property (nonatomic, setter=_setDiagnosticLoggingEnabled:) BOOL _diagnosticLoggingEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebInspectorProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;WebPreferences.h&quot;
</span><span class="cx"> #include &quot;WebProcessPool.h&quot;
</span><span class="cx"> #include &quot;WebProcessProxy.h&quot;
</span><ins>+#include &lt;WebCore/NotImplemented.h&gt;
</ins><span class="cx"> #include &lt;WebCore/SchemeRegistry.h&gt;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="lines">@@ -121,29 +122,9 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspectorProxy::WebInspectorProxy(WebPageProxy* page)
</span><span class="cx">     : m_page(page)
</span><del>-    , m_inspectorPage(nullptr)
-    , m_underTest(false)
-    , m_isVisible(false)
-    , m_isAttached(false)
-    , m_canAttach(false)
-    , m_isProfilingPage(false)
-    , m_showMessageSent(false)
-    , m_ignoreFirstBringToFront(false)
-    , m_attachmentSide(AttachmentSideBottom)
-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; WK_API_ENABLED
</ins><span class="cx">     , m_closeTimer(RunLoop::main(), this, &amp;WebInspectorProxy::closeTimerFired)
</span><del>-#elif PLATFORM(GTK) || PLATFORM(EFL)
-    , m_inspectorView(nullptr)
-    , m_inspectorWindow(nullptr)
-#if PLATFORM(GTK)
-    , m_headerBar(nullptr)
-    , m_dockBottomButton(nullptr)
-    , m_dockRightButton(nullptr)
</del><span class="cx"> #endif
</span><del>-#endif
-#if ENABLE(INSPECTOR_SERVER)
-    , m_remoteInspectionPageId(0)
-#endif
</del><span class="cx"> {
</span><span class="cx">     m_level = WebInspectorPageGroups::singleton().inspectorLevel(m_page-&gt;pageGroup());
</span><span class="cx">     m_page-&gt;process().addMessageReceiver(Messages::WebInspectorProxy::messageReceiverName(), m_page-&gt;pageID(), *this);
</span><span class="lines">@@ -158,6 +139,11 @@
</span><span class="cx">     return WebInspectorPageGroups::singleton().inspectorPageGroupForLevel(m_level);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+WebPreferences&amp; WebInspectorProxy::inspectorPagePreferences() const
+{
+    return inspectorPageGroup()-&gt;preferences();
+}
+
</ins><span class="cx"> void WebInspectorProxy::invalidate()
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR_SERVER)
</span><span class="lines">@@ -293,10 +279,10 @@
</span><span class="cx">     m_isAttached = true;
</span><span class="cx">     m_attachmentSide = side;
</span><span class="cx"> 
</span><del>-    inspectorPageGroup()-&gt;preferences().setInspectorAttachmentSide(side);
</del><ins>+    inspectorPagePreferences().setInspectorAttachmentSide(side);
</ins><span class="cx"> 
</span><span class="cx">     if (m_isVisible)
</span><del>-        inspectorPageGroup()-&gt;preferences().setInspectorStartsAttached(true);
</del><ins>+        inspectorPagePreferences().setInspectorStartsAttached(true);
</ins><span class="cx"> 
</span><span class="cx">     m_page-&gt;process().send(Messages::WebInspector::SetAttached(true), m_page-&gt;pageID());
</span><span class="cx"> 
</span><span class="lines">@@ -321,7 +307,7 @@
</span><span class="cx">     m_isAttached = false;
</span><span class="cx"> 
</span><span class="cx">     if (m_isVisible)
</span><del>-        inspectorPageGroup()-&gt;preferences().setInspectorStartsAttached(false);
</del><ins>+        inspectorPagePreferences().setInspectorStartsAttached(false);
</ins><span class="cx"> 
</span><span class="cx">     m_page-&gt;process().send(Messages::WebInspector::SetAttached(false), m_page-&gt;pageID());
</span><span class="cx">     m_inspectorPage-&gt;process().send(Messages::WebInspectorUI::Detached(), m_inspectorPage-&gt;pageID());
</span><span class="lines">@@ -331,13 +317,13 @@
</span><span class="cx"> 
</span><span class="cx"> void WebInspectorProxy::setAttachedWindowHeight(unsigned height)
</span><span class="cx"> {
</span><del>-    inspectorPageGroup()-&gt;preferences().setInspectorAttachedHeight(height);
</del><ins>+    inspectorPagePreferences().setInspectorAttachedHeight(height);
</ins><span class="cx">     platformSetAttachedWindowHeight(height);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebInspectorProxy::setAttachedWindowWidth(unsigned width)
</span><span class="cx"> {
</span><del>-    inspectorPageGroup()-&gt;preferences().setInspectorAttachedWidth(width);
</del><ins>+    inspectorPagePreferences().setInspectorAttachedWidth(width);
</ins><span class="cx">     platformSetAttachedWindowWidth(width);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -539,7 +525,7 @@
</span><span class="cx">     if (!m_underTest) {
</span><span class="cx">         m_canAttach = canAttach;
</span><span class="cx">         m_isAttached = shouldOpenAttached();
</span><del>-        m_attachmentSide = static_cast&lt;AttachmentSide&gt;(inspectorPageGroup()-&gt;preferences().inspectorAttachmentSide());
</del><ins>+        m_attachmentSide = static_cast&lt;AttachmentSide&gt;(inspectorPagePreferences().inspectorAttachmentSide());
</ins><span class="cx"> 
</span><span class="cx">         m_page-&gt;process().send(Messages::WebInspector::SetAttached(m_isAttached), m_page-&gt;pageID());
</span><span class="cx"> 
</span><span class="lines">@@ -633,7 +619,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool WebInspectorProxy::shouldOpenAttached()
</span><span class="cx"> {
</span><del>-    return inspectorPageGroup()-&gt;preferences().inspectorStartsAttached() &amp;&amp; canAttach();
</del><ins>+    return inspectorPagePreferences().inspectorStartsAttached() &amp;&amp; canAttach();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_SERVER)
</span><span class="lines">@@ -644,4 +630,122 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+// Unsupported configurations can use the stubs provided here.
+
+#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; !WK_API_ENABLED)
+
+WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
+{
+    notImplemented();
+    return nullptr;
+}
+
+void WebInspectorProxy::platformOpen()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformDidClose()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformInvalidate()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformBringToFront()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformHide()
+{
+    notImplemented();
+}
+
+bool WebInspectorProxy::platformIsFront()
+{
+    notImplemented();
+    return false;
+}
+
+void WebInspectorProxy::platformInspectedURLChanged(const String&amp;)
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformSave(const String&amp; suggestedURL, const String&amp; content, bool base64Encoded, bool forceSaveDialog)
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformAppend(const String&amp; suggestedURL, const String&amp; content)
+{
+    notImplemented();
+}
+
+unsigned WebInspectorProxy::platformInspectedWindowHeight()
+{
+    notImplemented();
+    return 0;
+}
+
+unsigned WebInspectorProxy::platformInspectedWindowWidth()
+{
+    notImplemented();
+    return 0;
+}
+
+void WebInspectorProxy::platformAttach()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformDetach()
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformSetAttachedWindowHeight(unsigned)
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformSetToolbarHeight(unsigned)
+{
+    notImplemented();
+}
+
+String WebInspectorProxy::inspectorPageURL() const
+{
+    notImplemented();
+    return String();
+}
+
+String WebInspectorProxy::inspectorTestPageURL() const
+{
+    notImplemented();
+    return String();
+}
+
+String WebInspectorProxy::inspectorBaseURL() const
+{
+    notImplemented();
+    return String();
+}
+
+void WebInspectorProxy::platformSetAttachedWindowWidth(unsigned)
+{
+    notImplemented();
+}
+
+void WebInspectorProxy::platformAttachAvailabilityChanged(bool)
+{
+    notImplemented();
+}
+
+#endif // PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; !WK_API_ENABLED)
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebInspectorProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;Attachment.h&quot;
</span><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -45,7 +44,7 @@
</span><span class="cx"> OBJC_CLASS NSURL;
</span><span class="cx"> OBJC_CLASS NSWindow;
</span><span class="cx"> OBJC_CLASS WKWebInspectorProxyObjCAdapter;
</span><del>-OBJC_CLASS WKWebInspectorWKView;
</del><ins>+OBJC_CLASS WKWebInspectorWKWebView;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="lines">@@ -62,6 +61,7 @@
</span><span class="cx"> class WebFrameProxy;
</span><span class="cx"> class WebPageGroup;
</span><span class="cx"> class WebPageProxy;
</span><ins>+class WebPreferences;
</ins><span class="cx"> class WebProcessPool;
</span><span class="cx"> 
</span><span class="cx"> enum AttachmentSide {
</span><span class="lines">@@ -94,8 +94,8 @@
</span><span class="cx">     void close();
</span><span class="cx"> 
</span><span class="cx">     void didRelaunchInspectorPageProcess();
</span><del>-    
-#if PLATFORM(MAC)
</del><ins>+
+#if PLATFORM(MAC) &amp;&amp; WK_API_ENABLED
</ins><span class="cx">     void createInspectorWindow();
</span><span class="cx">     void updateInspectorWindowTitle() const;
</span><span class="cx">     void inspectedViewFrameDidChange(CGFloat = 0);
</span><span class="lines">@@ -192,7 +192,10 @@
</span><span class="cx"> 
</span><span class="cx">     void open();
</span><span class="cx"> 
</span><ins>+    // FIXME: this should return the page group identifier, not an instance. The Mac port cannot
+    // directly provide a page group instance, and instances are not necessary to compute levels.
</ins><span class="cx">     WebPageGroup* inspectorPageGroup() const;
</span><ins>+    WebPreferences&amp; inspectorPagePreferences() const;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(GTK) || PLATFORM(EFL)
</span><span class="cx">     void createInspectorWindow();
</span><span class="lines">@@ -209,16 +212,16 @@
</span><span class="cx">     static const unsigned initialWindowWidth;
</span><span class="cx">     static const unsigned initialWindowHeight;
</span><span class="cx"> 
</span><del>-    WebPageProxy* m_page;
-    WebPageProxy* m_inspectorPage;
</del><ins>+    WebPageProxy* m_page {nullptr};
+    WebPageProxy* m_inspectorPage {nullptr};
</ins><span class="cx"> 
</span><del>-    bool m_underTest;
-    bool m_isVisible;
-    bool m_isAttached;
-    bool m_canAttach;
-    bool m_isProfilingPage;
-    bool m_showMessageSent;
-    bool m_ignoreFirstBringToFront;
</del><ins>+    bool m_underTest {false};
+    bool m_isVisible {false};
+    bool m_isAttached {false};
+    bool m_canAttach {false};
+    bool m_isProfilingPage {false};
+    bool m_showMessageSent {false};
+    bool m_ignoreFirstBringToFront {false};
</ins><span class="cx"> 
</span><span class="cx">     // The debugger stops all the pages in the same PageGroup. Having
</span><span class="cx">     // all the inspectors in the same group will make it impossible to debug
</span><span class="lines">@@ -227,10 +230,10 @@
</span><span class="cx">     
</span><span class="cx">     IPC::Attachment m_connectionIdentifier;
</span><span class="cx"> 
</span><del>-    AttachmentSide m_attachmentSide;
</del><ins>+    AttachmentSide m_attachmentSide {AttachmentSideBottom};
</ins><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
-    RetainPtr&lt;WKWebInspectorWKView&gt; m_inspectorView;
</del><ins>+#if PLATFORM(MAC) &amp;&amp; WK_API_ENABLED
+    RetainPtr&lt;WKWebInspectorWKWebView&gt; m_inspectorView;
</ins><span class="cx">     RetainPtr&lt;NSWindow&gt; m_inspectorWindow;
</span><span class="cx">     RetainPtr&lt;NSButton&gt; m_dockBottomButton;
</span><span class="cx">     RetainPtr&lt;NSButton&gt; m_dockRightButton;
</span><span class="lines">@@ -240,18 +243,18 @@
</span><span class="cx">     String m_urlString;
</span><span class="cx"> #elif PLATFORM(GTK)
</span><span class="cx">     WebInspectorClientGtk m_client;
</span><del>-    GtkWidget* m_inspectorView;
-    GtkWidget* m_inspectorWindow;
-    GtkWidget* m_headerBar;
-    GtkWidget* m_dockBottomButton;
-    GtkWidget* m_dockRightButton;
</del><ins>+    GtkWidget* m_inspectorView {nullptr};
+    GtkWidget* m_inspectorWindow {nullptr};
+    GtkWidget* m_headerBar {nullptr};
+    GtkWidget* m_dockBottomButton {nullptr};
+    GtkWidget* m_dockRightButton {nullptr};
</ins><span class="cx">     String m_inspectedURLString;
</span><span class="cx"> #elif PLATFORM(EFL)
</span><del>-    Evas_Object* m_inspectorView;
-    Ecore_Evas* m_inspectorWindow;
</del><ins>+    Evas_Object* m_inspectorView {nullptr};
+    Ecore_Evas* m_inspectorWindow {nullptr};
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(INSPECTOR_SERVER)
</span><del>-    int m_remoteInspectionPageId;
</del><ins>+    int m_remoteInspectionPageId {0};
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebInspectorProxyIOSmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/ios/WebInspectorProxyIOS.mm (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebInspectorProxyIOS.mm        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/ios/WebInspectorProxyIOS.mm        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -1,149 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import &quot;config.h&quot;
-#import &quot;WebInspectorProxy.h&quot;
-
-#if PLATFORM(IOS)
-
-#import &lt;WebCore/NotImplemented.h&gt;
-
-namespace WebKit {
-
-WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
-{
-    notImplemented();
-    return 0;
-}
-
-void WebInspectorProxy::platformOpen()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformDidClose()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformInvalidate()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformBringToFront()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformHide()
-{
-    notImplemented();
-}
-
-bool WebInspectorProxy::platformIsFront()
-{
-    notImplemented();
-    return false;
-}
-
-void WebInspectorProxy::platformInspectedURLChanged(const String&amp;)
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformSave(const String&amp; suggestedURL, const String&amp; content, bool base64Encoded, bool forceSaveDialog)
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformAppend(const String&amp; suggestedURL, const String&amp; content)
-{
-    notImplemented();
-}
-
-unsigned WebInspectorProxy::platformInspectedWindowHeight()
-{
-    notImplemented();
-    return 0;
-}
-
-unsigned WebInspectorProxy::platformInspectedWindowWidth()
-{
-    notImplemented();
-    return 0;
-}
-
-void WebInspectorProxy::platformAttach()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformDetach()
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformSetAttachedWindowHeight(unsigned)
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformSetToolbarHeight(unsigned height)
-{
-    notImplemented();
-}
-
-String WebInspectorProxy::inspectorPageURL() const
-{
-    notImplemented();
-    return String();
-}
-
-String WebInspectorProxy::inspectorTestPageURL() const
-{
-    notImplemented();
-    return String();
-}
-
-String WebInspectorProxy::inspectorBaseURL() const
-{
-    notImplemented();
-    return String();
-}
-
-void WebInspectorProxy::platformSetAttachedWindowWidth(unsigned)
-{
-    notImplemented();
-}
-
-void WebInspectorProxy::platformAttachAvailabilityChanged(bool available)
-{
-    notImplemented();
-}
-
-} // namespace WebKit
-
-#endif // PLATFORM(IOS)
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWebInspectorProxyMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -26,22 +26,25 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;WebInspectorProxy.h&quot;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; WK_API_ENABLED
</ins><span class="cx"> 
</span><span class="cx"> #import &quot;WKAPICast.h&quot;
</span><span class="cx"> #import &quot;WKInspectorPrivateMac.h&quot;
</span><span class="cx"> #import &quot;WKMutableArray.h&quot;
</span><span class="cx"> #import &quot;WKOpenPanelParameters.h&quot;
</span><span class="cx"> #import &quot;WKOpenPanelResultListener.h&quot;
</span><ins>+#import &quot;WKPreferencesInternal.h&quot;
+#import &quot;WKProcessPoolInternal.h&quot;
</ins><span class="cx"> #import &quot;WKRetainPtr.h&quot;
</span><span class="cx"> #import &quot;WKURLCF.h&quot;
</span><span class="cx"> #import &quot;WKViewInternal.h&quot;
</span><ins>+#import &quot;WKWebViewConfigurationPrivate.h&quot;
+#import &quot;WKWebViewInternal.h&quot;
</ins><span class="cx"> #import &quot;WebInspectorMessages.h&quot;
</span><span class="cx"> #import &quot;WebInspectorUIMessages.h&quot;
</span><span class="cx"> #import &quot;WebPageGroup.h&quot;
</span><span class="cx"> #import &quot;WebPageProxy.h&quot;
</span><span class="cx"> #import &quot;WebPreferences.h&quot;
</span><del>-#import &quot;WebProcessPool.h&quot;
</del><span class="cx"> #import &quot;WebProcessProxy.h&quot;
</span><span class="cx"> #import &lt;QuartzCore/CoreAnimation.h&gt;
</span><span class="cx"> #import &lt;WebCore/InspectorFrontendClientLocal.h&gt;
</span><span class="lines">@@ -170,7 +173,7 @@
</span><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><del>-@interface WKWebInspectorWKView : WKView {
</del><ins>+@interface WKWebInspectorWKWebView : WKWebView {
</ins><span class="cx"> @private
</span><span class="cx">     WKWebInspectorProxyObjCAdapter *_inspectorProxyObjCAdapter;
</span><span class="cx"> }
</span><span class="lines">@@ -178,7 +181,7 @@
</span><span class="cx"> @property (nonatomic, assign) WKWebInspectorProxyObjCAdapter *inspectorProxyObjCAdapter;
</span><span class="cx"> @end
</span><span class="cx"> 
</span><del>-@implementation WKWebInspectorWKView
</del><ins>+@implementation WKWebInspectorWKWebView
</ins><span class="cx"> 
</span><span class="cx"> @synthesize inspectorProxyObjCAdapter = _inspectorProxyObjCAdapter;
</span><span class="cx"> 
</span><span class="lines">@@ -189,8 +192,6 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)_didRelaunchProcess
</span><span class="cx"> {
</span><del>-    [super _didRelaunchProcess];
-
</del><span class="cx">     [self.inspectorProxyObjCAdapter didRelaunchProcess];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -312,8 +313,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_inspectorView) {
</span><del>-        WebPageProxy* inspectorPage = toImpl(m_inspectorView.get().pageRef);
-        inspectorPage-&gt;close();
</del><ins>+        m_inspectorView-&gt;_page-&gt;close();
</ins><span class="cx">         [m_inspectorView setInspectorProxyObjCAdapter:nil];
</span><span class="cx">         m_inspectorView = nil;
</span><span class="cx">     }
</span><span class="lines">@@ -331,7 +331,7 @@
</span><span class="cx">     dockButton.autoresizingMask = NSViewMinXMargin | NSViewMinYMargin;
</span><span class="cx"> 
</span><span class="cx">     // Get the dock image and make it a template so the button cell effects will apply.
</span><del>-    NSImage *dockImage = [[NSBundle bundleForClass:[WKWebInspectorWKView class]] imageForResource:imageName];
</del><ins>+    NSImage *dockImage = [[NSBundle bundleForClass:[WKWebInspectorWKWebView class]] imageForResource:imageName];
</ins><span class="cx">     [dockImage setTemplate:YES];
</span><span class="cx"> 
</span><span class="cx">     // Set the dock image on the button cell.
</span><span class="lines">@@ -453,7 +453,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_inspectorView) {
</span><span class="cx">         ASSERT(m_inspectorProxyObjCAdapter);
</span><del>-        return toImpl(m_inspectorView.get().pageRef);
</del><ins>+        return m_inspectorView-&gt;_page.get();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT(!m_inspectorView);
</span><span class="lines">@@ -465,10 +465,10 @@
</span><span class="cx"> 
</span><span class="cx">         switch (m_attachmentSide) {
</span><span class="cx">         case AttachmentSideBottom:
</span><del>-            initialRect = NSMakeRect(0, 0, NSWidth(inspectedViewFrame), inspectorPageGroup()-&gt;preferences().inspectorAttachedHeight());
</del><ins>+            initialRect = NSMakeRect(0, 0, NSWidth(inspectedViewFrame), inspectorPagePreferences().inspectorAttachedHeight());
</ins><span class="cx">             break;
</span><span class="cx">         case AttachmentSideRight:
</span><del>-            initialRect = NSMakeRect(0, 0, inspectorPageGroup()-&gt;preferences().inspectorAttachedWidth(), NSHeight(inspectedViewFrame));
</del><ins>+            initialRect = NSMakeRect(0, 0, inspectorPagePreferences().inspectorAttachedWidth(), NSHeight(inspectedViewFrame));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">     } else {
</span><span class="lines">@@ -480,11 +480,24 @@
</span><span class="cx">             initialRect = [NSWindow contentRectForFrameRect:windowFrame styleMask:windowStyleMask];
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_inspectorView = adoptNS([[WKWebInspectorWKView alloc] initWithFrame:initialRect contextRef:toAPI(&amp;inspectorProcessPool()) pageGroupRef:toAPI(inspectorPageGroup()) relatedToPage:nullptr]);
</del><ins>+    auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
+    WKPreferences *preferences = [configuration preferences];
+#ifndef NDEBUG
+    // Allow developers to inspect the Web Inspector in debug builds without changing settings.
+    preferences._developerExtrasEnabled = YES;
+    preferences._logsPageMessagesToSystemConsoleEnabled = YES;
+#endif
+    preferences._allowFileAccessFromFileURLs = YES;
+    [configuration setProcessPool: ::WebKit::wrapper(inspectorProcessPool())];
+    [configuration _setGroupIdentifier:inspectorPageGroup()-&gt;identifier()];
+
+    m_inspectorView = adoptNS([[WKWebInspectorWKWebView alloc] initWithFrame:initialRect configuration:configuration.get()]);
</ins><span class="cx">     ASSERT(m_inspectorView);
</span><span class="cx"> 
</span><del>-#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1090
-    [m_inspectorView setDrawsBackground:NO];
</del><ins>+    [m_inspectorView _setDrawsTransparentBackground:YES];
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101000
+    [m_inspectorView _setAutomaticallyAdjustsContentInsets:NO];
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     m_inspectorProxyObjCAdapter = adoptNS([[WKWebInspectorProxyObjCAdapter alloc] initWithWebInspectorProxy:this]);
</span><span class="lines">@@ -492,7 +505,7 @@
</span><span class="cx"> 
</span><span class="cx">     [m_inspectorView setInspectorProxyObjCAdapter:m_inspectorProxyObjCAdapter.get()];
</span><span class="cx"> 
</span><del>-    WebPageProxy* inspectorPage = toImpl(m_inspectorView.get().pageRef);
</del><ins>+    WebPageProxy* inspectorPage = m_inspectorView-&gt;_page.get();
</ins><span class="cx">     ASSERT(inspectorPage);
</span><span class="cx"> 
</span><span class="cx">     WKPageUIClientV2 uiClient = {
</span><span class="lines">@@ -789,16 +802,16 @@
</span><span class="cx"> 
</span><span class="cx">     [m_inspectorView removeFromSuperview];
</span><span class="cx"> 
</span><del>-    [m_inspectorView setAutoresizingMask:NSViewWidthSizable | NSViewMaxYMargin];
-
</del><span class="cx">     CGFloat currentDimension;
</span><span class="cx"> 
</span><span class="cx">     switch (m_attachmentSide) {
</span><span class="cx">     case AttachmentSideBottom:
</span><del>-        currentDimension = inspectorPageGroup()-&gt;preferences().inspectorAttachedHeight();
</del><ins>+        [m_inspectorView setAutoresizingMask:NSViewWidthSizable | NSViewMaxYMargin];
+        currentDimension = inspectorPagePreferences().inspectorAttachedHeight();
</ins><span class="cx">         break;
</span><span class="cx">     case AttachmentSideRight:
</span><del>-        currentDimension = inspectorPageGroup()-&gt;preferences().inspectorAttachedWidth();
</del><ins>+        [m_inspectorView setAutoresizingMask:NSViewHeightSizable | NSViewMinXMargin];
+        currentDimension = inspectorPagePreferences().inspectorAttachedWidth();
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -892,4 +905,4 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><del>-#endif // PLATFORM(MAC)
</del><ins>+#endif // PLATFORM(MAC) &amp;&amp; WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (179572 => 179573)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-02-03 23:02:40 UTC (rev 179572)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-02-03 23:21:47 UTC (rev 179573)
</span><span class="lines">@@ -633,7 +633,6 @@
</span><span class="cx">                 2DA944A41884E4F000ED86DB /* GestureTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DA9449D1884E4F000ED86DB /* GestureTypes.h */; };
</span><span class="cx">                 2DA944A71884E94800ED86DB /* DownloadIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944A61884E94800ED86DB /* DownloadIOS.mm */; };
</span><span class="cx">                 2DA944AD1884E9BA00ED86DB /* TextCheckerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944A91884E9BA00ED86DB /* TextCheckerIOS.mm */; };
</span><del>-                2DA944AE1884E9BA00ED86DB /* WebInspectorProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AA1884E9BA00ED86DB /* WebInspectorProxyIOS.mm */; };
</del><span class="cx">                 2DA944AF1884E9BA00ED86DB /* WebPageProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AB1884E9BA00ED86DB /* WebPageProxyIOS.mm */; };
</span><span class="cx">                 2DA944B01884E9BA00ED86DB /* WebProcessProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944AC1884E9BA00ED86DB /* WebProcessProxyIOS.mm */; };
</span><span class="cx">                 2DA944B91884EA3900ED86DB /* WebBackForwardListProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DA944B51884EA3500ED86DB /* WebBackForwardListProxyIOS.mm */; };
</span><span class="lines">@@ -2744,7 +2743,6 @@
</span><span class="cx">                 2DA9449D1884E4F000ED86DB /* GestureTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GestureTypes.h; path = ios/GestureTypes.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2DA944A61884E94800ED86DB /* DownloadIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DownloadIOS.mm; path = Downloads/ios/DownloadIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2DA944A91884E9BA00ED86DB /* TextCheckerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TextCheckerIOS.mm; path = ios/TextCheckerIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                2DA944AA1884E9BA00ED86DB /* WebInspectorProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebInspectorProxyIOS.mm; path = ios/WebInspectorProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 2DA944AB1884E9BA00ED86DB /* WebPageProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebPageProxyIOS.mm; path = ios/WebPageProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2DA944AC1884E9BA00ED86DB /* WebProcessProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebProcessProxyIOS.mm; path = ios/WebProcessProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2DA944B51884EA3500ED86DB /* WebBackForwardListProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebBackForwardListProxyIOS.mm; path = ios/WebBackForwardListProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5046,7 +5044,6 @@
</span><span class="cx">                                 2DAF06D518BD1A470081CEB1 /* SmartMagnificationController.mm */,
</span><span class="cx">                                 2DA944A91884E9BA00ED86DB /* TextCheckerIOS.mm */,
</span><span class="cx">                                 2DF9593418A42412009785A1 /* ViewGestureControllerIOS.mm */,
</span><del>-                                2DA944AA1884E9BA00ED86DB /* WebInspectorProxyIOS.mm */,
</del><span class="cx">                                 2D3EF4411917646300034184 /* WebMemoryPressureHandlerIOS.h */,
</span><span class="cx">                                 2D3EF4401917646300034184 /* WebMemoryPressureHandlerIOS.mm */,
</span><span class="cx">                                 2DA944AB1884E9BA00ED86DB /* WebPageProxyIOS.mm */,
</span><span class="lines">@@ -9632,7 +9629,6 @@
</span><span class="cx">                                 BC111A60112F4FBB00337BAB /* WebInspectorClient.cpp in Sources */,
</span><span class="cx">                                 1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 1C8E28351275D73800BC7BD0 /* WebInspectorProxy.cpp in Sources */,
</span><del>-                                2DA944AE1884E9BA00ED86DB /* WebInspectorProxyIOS.mm in Sources */,
</del><span class="cx">                                 1CA8B936127C774E00576C2B /* WebInspectorProxyMac.mm in Sources */,
</span><span class="cx">                                 1CA8B945127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 1C891D6519B124FF00BA79DD /* WebInspectorUI.cpp in Sources */,
</span></span></pre>
</div>
</div>

</body>
</html>