Skip to content

Commit 9f56ff7

Browse files
committed
Update the device scale factor when the WebView's window changes
Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a WebView is moved between windows with different backing scale factors Reviewed by Anders Carlsson. Source/WebKit/mac: * WebView/WebView.mm: (-[WebView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no window at all) might have a different backing scale factor than the previous one. (-[WebView _deviceScaleFactor]): Moved to the WebFileInternal category. Source/WebKit2: * UIProcess/API/mac/WKView.mm: (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no window at all) might have a different backing scale factor than the previous one. (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category. Tools: Test that WebKit updates style when a WebView is moved between differently-scaled windows * TestWebKitAPI/JavaScriptTest.cpp: (TestWebKitAPI::runJSTest): Moved a little bit of code from here... (TestWebKitAPI::compareJSResult): ...to here. Also made the error message more similar to gtest's built-in error messages. * TestWebKitAPI/JavaScriptTest.h: Added overloads of runJSTest that take a WebView * and WKView * for convenience on Mac. Added compareJSResult helper function for implementing those overloads. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new files. * TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm: Added. (-[FrameLoadDelegate initWithDidFinishLoadBoolean:]): Simple initializer. (-[FrameLoadDelegate webView:didFinishLoadForFrame:]): Record that the load finished. (TestWebKitAPI::didFinishLoadForFrame): Record that the load finished. (TestWebKitAPI::setPageLoaderClient): Set up the client. (TestWebKitAPI::DynamicDeviceScaleFactor::DynamicDeviceScaleFactor): Simple constructor. (TestWebKitAPI::DynamicDeviceScaleFactor::createWindow): Creates a SyntheticBackingScaleFactorWindow and returns it. (TestWebKitAPI::DynamicDeviceScaleFactor::runTest): Loads devicePixelRatio.html and checks that WebKit uses the correct scale factor when the WebView is not in a window, is put in a window, is moved to a differently-scaled window, and is taken out of the window. (TestWebKitAPI::DynamicDeviceScaleFactor::loadURL): Helper function with overloads for WebKit1 and WebKit2. (TestWebKitAPI::TEST_F): Runs the test, with overloads for WebKit1 and WebKit2. * TestWebKitAPI/Tests/mac/devicePixelRatio.html: Added. * TestWebKitAPI/mac/JavaScriptTestMac.mm: Added. (TestWebKitAPI::runJSTest): Fairly simple overloads for WebView * and WKView *. * TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.h: Added. * TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m: Added. (-[SyntheticBackingScaleFactorWindow initWithContentRect:styleMask:backing:defer:]): Simple initializer. (-[SyntheticBackingScaleFactorWindow setBackingScaleFactor:]): Simple setter. (-[SyntheticBackingScaleFactorWindow backingScaleFactor]): (-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Overrides of NSWindow methods that WebKit uses to determine the device scale factor. Canonical link: https://commits.webkit.org/82311@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@93315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent dcf58ad commit 9f56ff7

13 files changed

Lines changed: 505 additions & 32 deletions

File tree

Source/WebKit/mac/ChangeLog

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
2011-08-18 Adam Roben <[email protected]>
2+
3+
Update the device scale factor when the WebView's window changes
4+
5+
Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
6+
WebView is moved between windows with different backing scale factors
7+
8+
Reviewed by Anders Carlsson.
9+
10+
* WebView/WebView.mm:
11+
(-[WebView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
12+
window at all) might have a different backing scale factor than the previous one.
13+
(-[WebView _deviceScaleFactor]): Moved to the WebFileInternal category.
14+
115
2011-08-17 Adam Roben <[email protected]>
216

317
Make WebCore keep track of the current device scale factor

Source/WebKit/mac/WebView/WebView.mm

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ - (id)initWithTarget:(id)target defaultTarget:(id)defaultTarget catchExceptions:
375375
@end
376376

377377
@interface WebView (WebFileInternal)
378+
- (float)_deviceScaleFactor;
378379
- (BOOL)_isLoading;
379380
- (WebFrameView *)_frameViewAtWindowPoint:(NSPoint)point;
380381
- (WebFrame *)_focusedFrame;
@@ -3353,6 +3354,8 @@ - (void)viewDidMoveToWindow
33533354
_private->page->didMoveOnscreen();
33543355
}
33553356

3357+
_private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
3358+
33563359
[self _updateActiveState];
33573360
}
33583361

@@ -3382,20 +3385,6 @@ - (void)_windowWillClose:(NSNotification *)notification
33823385
[self close];
33833386
}
33843387

3385-
- (float)_deviceScaleFactor
3386-
{
3387-
NSWindow *window = [self window];
3388-
#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
3389-
if (window)
3390-
return [window backingScaleFactor];
3391-
return [[NSScreen mainScreen] backingScaleFactor];
3392-
#else
3393-
if (window)
3394-
return [window userSpaceScaleFactor];
3395-
return [[NSScreen mainScreen] userSpaceScaleFactor];
3396-
#endif
3397-
}
3398-
33993388
- (void)_windowDidChangeResolution:(NSNotification *)notification
34003389
{
34013390
_private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
@@ -5522,6 +5511,20 @@ - (BOOL)_selectionIsAll
55225511

55235512
@implementation WebView (WebFileInternal)
55245513

5514+
- (float)_deviceScaleFactor
5515+
{
5516+
NSWindow *window = [self window];
5517+
#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
5518+
if (window)
5519+
return [window backingScaleFactor];
5520+
return [[NSScreen mainScreen] backingScaleFactor];
5521+
#else
5522+
if (window)
5523+
return [window userSpaceScaleFactor];
5524+
return [[NSScreen mainScreen] userSpaceScaleFactor];
5525+
#endif
5526+
}
5527+
55255528
static inline uint64_t roundUpToPowerOf2(uint64_t num)
55265529
{
55275530
return powf(2.0, ceilf(log2f(num)));

Source/WebKit2/ChangeLog

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
2011-08-18 Adam Roben <[email protected]>
2+
3+
Update the device scale factor when the WKView's window changes
4+
5+
Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
6+
WebView is moved between windows with different backing scale factors
7+
8+
Reviewed by Anders Carlsson.
9+
10+
* UIProcess/API/mac/WKView.mm:
11+
(-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
12+
window at all) might have a different backing scale factor than the previous one.
13+
(-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
14+
115
2011-08-18 Adam Roben <[email protected]>
216

317
Make WebPageProxy keep track of the current device scale factor

Source/WebKit2/UIProcess/API/mac/WKView.mm

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ - (void)_maskRoundedBottomCorners:(NSRect)clipRect;
109109
Vector<KeypressCommand>* commands;
110110
};
111111

112+
@interface WKView (FileInternal)
113+
- (float)_deviceScaleFactor;
114+
@end
115+
112116
@interface WKViewData : NSObject {
113117
@public
114118
OwnPtr<PageClientImpl> _pageClient;
@@ -1791,6 +1795,8 @@ - (void)viewDidMoveToWindow
17911795
WKHideWordDefinitionWindow();
17921796
#endif
17931797
}
1798+
1799+
_data->_page->setDeviceScaleFactor([self _deviceScaleFactor]);
17941800
}
17951801

17961802
- (void)_windowDidBecomeKey:(NSNotification *)notification
@@ -1836,20 +1842,6 @@ - (void)_windowDidOrderOnScreen:(NSNotification *)notification
18361842
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
18371843
}
18381844

1839-
- (float)_deviceScaleFactor
1840-
{
1841-
NSWindow *window = [self window];
1842-
#if !defined(BUILDING_ON_SNOW_LEOPARD)
1843-
if (window)
1844-
return [window backingScaleFactor];
1845-
return [[NSScreen mainScreen] backingScaleFactor];
1846-
#else
1847-
if (window)
1848-
return [window userSpaceScaleFactor];
1849-
return [[NSScreen mainScreen] userSpaceScaleFactor];
1850-
#endif
1851-
}
1852-
18531845
- (void)_windowDidChangeResolution:(NSNotification *)notification
18541846
{
18551847
_data->_page->setDeviceScaleFactor([self _deviceScaleFactor]);
@@ -2599,3 +2591,21 @@ - (BOOL)tryToPerform:(SEL)action with:(id)object
25992591
}
26002592

26012593
@end
2594+
2595+
@implementation WKView (FileInternal)
2596+
2597+
- (float)_deviceScaleFactor
2598+
{
2599+
NSWindow *window = [self window];
2600+
#if !defined(BUILDING_ON_SNOW_LEOPARD)
2601+
if (window)
2602+
return [window backingScaleFactor];
2603+
return [[NSScreen mainScreen] backingScaleFactor];
2604+
#else
2605+
if (window)
2606+
return [window userSpaceScaleFactor];
2607+
return [[NSScreen mainScreen] userSpaceScaleFactor];
2608+
#endif
2609+
}
2610+
2611+
@end

Tools/ChangeLog

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,53 @@
1+
2011-08-18 Adam Roben <[email protected]>
2+
3+
Test that WebKit updates style when a WebView is moved between differently-scaled windows
4+
5+
Test for <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
6+
WebView is moved between windows with different backing scale factors
7+
8+
Reviewed by Anders Carlsson.
9+
10+
* TestWebKitAPI/JavaScriptTest.cpp:
11+
(TestWebKitAPI::runJSTest): Moved a little bit of code from here...
12+
(TestWebKitAPI::compareJSResult): ...to here. Also made the error message more similar to
13+
gtest's built-in error messages.
14+
15+
* TestWebKitAPI/JavaScriptTest.h: Added overloads of runJSTest that take a WebView * and
16+
WKView * for convenience on Mac. Added compareJSResult helper function for implementing
17+
those overloads.
18+
19+
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new files.
20+
21+
* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm: Added.
22+
(-[FrameLoadDelegate initWithDidFinishLoadBoolean:]): Simple initializer.
23+
(-[FrameLoadDelegate webView:didFinishLoadForFrame:]): Record that the load finished.
24+
(TestWebKitAPI::didFinishLoadForFrame): Record that the load finished.
25+
(TestWebKitAPI::setPageLoaderClient): Set up the client.
26+
(TestWebKitAPI::DynamicDeviceScaleFactor::DynamicDeviceScaleFactor): Simple constructor.
27+
(TestWebKitAPI::DynamicDeviceScaleFactor::createWindow): Creates a
28+
SyntheticBackingScaleFactorWindow and returns it.
29+
(TestWebKitAPI::DynamicDeviceScaleFactor::runTest): Loads devicePixelRatio.html and checks
30+
that WebKit uses the correct scale factor when the WebView is not in a window, is put in a
31+
window, is moved to a differently-scaled window, and is taken out of the window.
32+
(TestWebKitAPI::DynamicDeviceScaleFactor::loadURL): Helper function with overloads for
33+
WebKit1 and WebKit2.
34+
(TestWebKitAPI::TEST_F): Runs the test, with overloads for WebKit1 and WebKit2.
35+
36+
* TestWebKitAPI/Tests/mac/devicePixelRatio.html: Added.
37+
38+
* TestWebKitAPI/mac/JavaScriptTestMac.mm: Added.
39+
(TestWebKitAPI::runJSTest): Fairly simple overloads for WebView * and WKView *.
40+
41+
* TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.h: Added.
42+
* TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m: Added.
43+
(-[SyntheticBackingScaleFactorWindow initWithContentRect:styleMask:backing:defer:]): Simple
44+
initializer.
45+
(-[SyntheticBackingScaleFactorWindow setBackingScaleFactor:]): Simple setter.
46+
47+
(-[SyntheticBackingScaleFactorWindow backingScaleFactor]):
48+
(-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]):
49+
Overrides of NSWindow methods that WebKit uses to determine the device scale factor.
50+
151
2011-08-18 Dmitry Lomov <[email protected]>
252

353
https://bugs.webkit.org/show_bug.cgi?id=66425

Tools/TestWebKitAPI/JavaScriptTest.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,22 @@ ::testing::AssertionResult runJSTest(const char*, const char*, const char*, WKPa
7070
WKPageRunJavaScriptInMainFrame(page, Util::toWK(script).get(), &context, javaScriptCallback);
7171
Util::run(&context.didFinish);
7272

73-
if (JSStringIsEqualToUTF8CString(context.actualString.get(), expectedResult))
74-
return ::testing::AssertionSuccess();
75-
7673
size_t bufferSize = JSStringGetMaximumUTF8CStringSize(context.actualString.get());
7774
OwnArrayPtr<char> buffer = adoptArrayPtr(new char[bufferSize]);
7875
JSStringGetUTF8CString(context.actualString.get(), buffer.get(), bufferSize);
76+
77+
return compareJSResult(script, buffer.get(), expectedResult);
78+
}
79+
80+
::testing::AssertionResult compareJSResult(const char* script, const char* actualResult, const char* expectedResult)
81+
{
82+
if (!strcmp(actualResult, expectedResult))
83+
return ::testing::AssertionSuccess();
7984

80-
return ::testing::AssertionFailure() << script << " should be " << expectedResult << " but is " << buffer.get();
85+
return ::testing::AssertionFailure()
86+
<< "JS expression: " << script << "\n"
87+
<< " Actual: " << actualResult << "\n"
88+
<< " Expected: " << expectedResult;
8189
}
8290

8391
} // namespace TestWebKitAPI

Tools/TestWebKitAPI/JavaScriptTest.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@
2424
*/
2525

2626
#include <gtest/gtest.h>
27+
#include <wtf/Platform.h>
28+
29+
#if PLATFORM(MAC)
30+
#ifdef __OBJC__
31+
@class WKView;
32+
@class WebView;
33+
#else
34+
class WKView;
35+
class WebView;
36+
#endif
37+
#endif
2738

2839
namespace TestWebKitAPI {
2940

@@ -34,5 +45,11 @@ namespace TestWebKitAPI {
3445
#define EXPECT_JS_TRUE(page, script) EXPECT_JS_EQ(page, script, "true")
3546

3647
::testing::AssertionResult runJSTest(const char* pageExpr, const char* scriptExpr, const char* expectedResultExpr, WKPageRef, const char* script, const char* expectedResult);
48+
::testing::AssertionResult compareJSResult(const char* script, const char* actualResult, const char* expectedResult);
49+
50+
#if PLATFORM(MAC)
51+
::testing::AssertionResult runJSTest(const char* webViewExpr, const char* scriptExpr, const char* expectedResultExpr, WebView *, const char* script, const char* expectedResult);
52+
::testing::AssertionResult runJSTest(const char* viewExpr, const char* scriptExpr, const char* expectedResultExpr, WKView *, const char* script, const char* expectedResult);
53+
#endif
3754

3855
} // namespace TestWebKitAPI

Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@
6060
C02B77F2126612140026BF0F /* SpacebarScrolling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C02B77F1126612140026BF0F /* SpacebarScrolling.cpp */; };
6161
C02B7854126613AE0026BF0F /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C02B7853126613AE0026BF0F /* Carbon.framework */; };
6262
C045F9451385C2EA00C0F3CD /* DownloadDecideDestinationCrash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C045F9441385C2E900C0F3CD /* DownloadDecideDestinationCrash.cpp */; };
63+
C07E6CAF13FD67650038B22B /* DynamicDeviceScaleFactor.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07E6CAE13FD67650038B22B /* DynamicDeviceScaleFactor.mm */; };
64+
C07E6CB213FD73930038B22B /* devicePixelRatio.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = C07E6CB113FD738A0038B22B /* devicePixelRatio.html */; };
65+
C081224213FC172400DC39AE /* JavaScriptTestMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C081224013FC172400DC39AE /* JavaScriptTestMac.mm */; };
66+
C081224513FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = C081224413FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m */; };
67+
C081224913FC1B0300DC39AE /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C081224813FC1B0300DC39AE /* WebKit.framework */; };
6368
C0ADBE7C12FCA4D000D2C129 /* JavaScriptTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0ADBE7A12FCA4D000D2C129 /* JavaScriptTest.cpp */; };
6469
C0ADBE8312FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */; };
6570
C0ADBE9612FCA79B00D2C129 /* simple-form.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = C0ADBE8412FCA6B600D2C129 /* simple-form.html */; };
@@ -96,6 +101,7 @@
96101
dstSubfolderSpec = 7;
97102
files = (
98103
1A9E52C913E65EF4006917F5 /* 18-characters.html in Copy Resources */,
104+
C07E6CB213FD73930038B22B /* devicePixelRatio.html in Copy Resources */,
99105
33E79E06137B5FD900E32D99 /* mouse-move-listener.html in Copy Resources */,
100106
BCBD3737125ABBEB00D2C29F /* icon.png in Copy Resources */,
101107
1A02C870125D4CFD00E3F4BD /* find.html in Copy Resources */,
@@ -174,6 +180,12 @@
174180
C02B7882126615410026BF0F /* spacebar-scrolling.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "spacebar-scrolling.html"; sourceTree = "<group>"; };
175181
C045F9441385C2E900C0F3CD /* DownloadDecideDestinationCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DownloadDecideDestinationCrash.cpp; sourceTree = "<group>"; };
176182
C045F9461385C2F800C0F3CD /* 18-characters.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "18-characters.html"; sourceTree = "<group>"; };
183+
C07E6CAE13FD67650038B22B /* DynamicDeviceScaleFactor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DynamicDeviceScaleFactor.mm; sourceTree = "<group>"; };
184+
C07E6CB113FD738A0038B22B /* devicePixelRatio.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = devicePixelRatio.html; sourceTree = "<group>"; };
185+
C081224013FC172400DC39AE /* JavaScriptTestMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = JavaScriptTestMac.mm; sourceTree = "<group>"; };
186+
C081224313FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SyntheticBackingScaleFactorWindow.h; sourceTree = "<group>"; };
187+
C081224413FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SyntheticBackingScaleFactorWindow.m; sourceTree = "<group>"; };
188+
C081224813FC1B0300DC39AE /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
177189
C0ADBE7A12FCA4D000D2C129 /* JavaScriptTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptTest.cpp; sourceTree = "<group>"; };
178190
C0ADBE7B12FCA4D000D2C129 /* JavaScriptTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptTest.h; sourceTree = "<group>"; };
179191
C0ADBE8212FCA6AA00D2C129 /* RestoreSessionStateContainingFormData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestoreSessionStateContainingFormData.cpp; sourceTree = "<group>"; };
@@ -190,6 +202,7 @@
190202
buildActionMask = 2147483647;
191203
files = (
192204
BCB9E9F111235BDE00A137E0 /* Cocoa.framework in Frameworks */,
205+
C081224913FC1B0300DC39AE /* WebKit.framework in Frameworks */,
193206
BCA61DB511700EFD00460D1E /* WebKit2.framework in Frameworks */,
194207
BC90964E1255620C00083756 /* JavaScriptCore.framework in Frameworks */,
195208
C02B7854126613AE0026BF0F /* Carbon.framework in Frameworks */,
@@ -246,6 +259,7 @@
246259
F3FC3EE213678B7300126A65 /* libgtest.a */,
247260
BCB9E9F011235BDE00A137E0 /* Cocoa.framework */,
248261
BC90964D1255620C00083756 /* JavaScriptCore.framework */,
262+
C081224813FC1B0300DC39AE /* WebKit.framework */,
249263
BCA61DB411700EFD00460D1E /* WebKit2.framework */,
250264
C02B7853126613AE0026BF0F /* Carbon.framework */,
251265
);
@@ -352,22 +366,43 @@
352366
isa = PBXGroup;
353367
children = (
354368
1AEDE22413E5E7A000E62FE8 /* InjectedBundleControllerMac.mm */,
369+
C081224013FC172400DC39AE /* JavaScriptTestMac.mm */,
355370
BC131A9A1171316900B69727 /* main.mm */,
356371
BC131884117114B600B69727 /* PlatformUtilitiesMac.mm */,
357372
BC90955C125548AA00083756 /* PlatformWebViewMac.mm */,
373+
C081224313FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.h */,
374+
C081224413FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m */,
358375
);
359376
path = mac;
360377
sourceTree = "<group>";
361378
};
362379
BCB9EB66112366D800A137E0 /* Tests */ = {
363380
isa = PBXGroup;
364381
children = (
382+
C07E6CAD13FD67650038B22B /* mac */,
365383
BC9096411255616000083756 /* WebKit2 */,
366384
BC9096461255618900083756 /* WTF */,
367385
);
368386
path = Tests;
369387
sourceTree = "<group>";
370388
};
389+
C07E6CAD13FD67650038B22B /* mac */ = {
390+
isa = PBXGroup;
391+
children = (
392+
C07E6CB013FD737C0038B22B /* Resources */,
393+
C07E6CAE13FD67650038B22B /* DynamicDeviceScaleFactor.mm */,
394+
);
395+
path = mac;
396+
sourceTree = "<group>";
397+
};
398+
C07E6CB013FD737C0038B22B /* Resources */ = {
399+
isa = PBXGroup;
400+
children = (
401+
C07E6CB113FD738A0038B22B /* devicePixelRatio.html */,
402+
);
403+
name = Resources;
404+
sourceTree = "<group>";
405+
};
371406
/* End PBXGroup section */
372407

373408
/* Begin PBXNativeTarget section */
@@ -480,6 +515,9 @@
480515
C045F9451385C2EA00C0F3CD /* DownloadDecideDestinationCrash.cpp in Sources */,
481516
37200B9213A16230007A4FAD /* VectorReverse.cpp in Sources */,
482517
C01363C813C3997300EF3964 /* StringOperators.cpp in Sources */,
518+
C081224213FC172400DC39AE /* JavaScriptTestMac.mm in Sources */,
519+
C081224513FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m in Sources */,
520+
C07E6CAF13FD67650038B22B /* DynamicDeviceScaleFactor.mm in Sources */,
483521
);
484522
runOnlyForDeploymentPostprocessing = 0;
485523
};

0 commit comments

Comments
 (0)