Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: webkit/tools/test_shell/test_shell_mac.mm

Issue 200054: Hook up WebFrameClient, replacing many WebViewDelegate methods.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/tools/test_shell/test_shell_gtk.cc ('k') | webkit/tools/test_shell/test_shell_main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <ApplicationServices/ApplicationServices.h> 5 #include <ApplicationServices/ApplicationServices.h>
6 #import <Cocoa/Cocoa.h> 6 #import <Cocoa/Cocoa.h>
7 #import <objc/objc-runtime.h> 7 #import <objc/objc-runtime.h>
8 #include <sys/stat.h> 8 #include <sys/stat.h>
9 9
10 #include "webkit/tools/test_shell/test_shell.h" 10 #include "webkit/tools/test_shell/test_shell.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 NSButton* MakeTestButton(NSRect* rect, NSString* title, NSView* parent) { 218 NSButton* MakeTestButton(NSRect* rect, NSString* title, NSView* parent) {
219 NSButton* button = [[[NSButton alloc] initWithFrame:*rect] autorelease]; 219 NSButton* button = [[[NSButton alloc] initWithFrame:*rect] autorelease];
220 [button setTitle:title]; 220 [button setTitle:title];
221 [button setBezelStyle:NSSmallSquareBezelStyle]; 221 [button setBezelStyle:NSSmallSquareBezelStyle];
222 [button setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)]; 222 [button setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
223 [parent addSubview:button]; 223 [parent addSubview:button];
224 rect->origin.x += BUTTON_WIDTH; 224 rect->origin.x += BUTTON_WIDTH;
225 return button; 225 return button;
226 } 226 }
227 227
228 bool TestShell::Initialize(const std::wstring& startingURL) { 228 bool TestShell::Initialize(const GURL& starting_url) {
229 // Perform application initialization: 229 // Perform application initialization:
230 // send message to app controller? need to work this out 230 // send message to app controller? need to work this out
231 231
232 // TODO(awalker): this is a straight recreation of windows test_shell.cc's 232 // TODO(awalker): this is a straight recreation of windows test_shell.cc's
233 // window creation code--we should really pull this from the nib and grab 233 // window creation code--we should really pull this from the nib and grab
234 // references to the already-created subviews that way. 234 // references to the already-created subviews that way.
235 NSRect screen_rect = [[NSScreen mainScreen] visibleFrame]; 235 NSRect screen_rect = [[NSScreen mainScreen] visibleFrame];
236 NSRect window_rect = { {0, screen_rect.size.height - kTestWindowHeight}, 236 NSRect window_rect = { {0, screen_rect.size.height - kTestWindowHeight},
237 {kTestWindowWidth, kTestWindowHeight} }; 237 {kTestWindowWidth, kTestWindowHeight} };
238 m_mainWnd = [[NSWindow alloc] 238 m_mainWnd = [[NSWindow alloc]
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 [m_editWnd setAutoresizingMask:(NSViewWidthSizable | NSViewMinYMargin)]; 306 [m_editWnd setAutoresizingMask:(NSViewWidthSizable | NSViewMinYMargin)];
307 [m_editWnd setTarget:web_view]; 307 [m_editWnd setTarget:web_view];
308 [m_editWnd setAction:@selector(takeURLStringValueFrom:)]; 308 [m_editWnd setAction:@selector(takeURLStringValueFrom:)];
309 [[m_editWnd cell] setWraps:NO]; 309 [[m_editWnd cell] setWraps:NO];
310 [[m_editWnd cell] setScrollable:YES]; 310 [[m_editWnd cell] setScrollable:YES];
311 311
312 // show the window 312 // show the window
313 [m_mainWnd makeKeyAndOrderFront: nil]; 313 [m_mainWnd makeKeyAndOrderFront: nil];
314 314
315 // Load our initial content. 315 // Load our initial content.
316 if (!startingURL.empty()) 316 if (starting_url.is_valid())
317 LoadURL(startingURL.c_str()); 317 LoadURL(starting_url);
318 318
319 bool bIsSVGTest = startingURL.find(L"W3C-SVG-1.1") != std::wstring::npos; 319 if (IsSVGTestURL(starting_url)) {
320
321 if (bIsSVGTest) {
322 SizeTo(kSVGTestWindowWidth, kSVGTestWindowHeight); 320 SizeTo(kSVGTestWindowWidth, kSVGTestWindowHeight);
323 } else { 321 } else {
324 SizeToDefault(); 322 SizeToDefault();
325 } 323 }
326 324
327 return true; 325 return true;
328 } 326 }
329 327
330 void TestShell::TestFinished() { 328 void TestShell::TestFinished() {
331 if (!test_is_pending_) 329 if (!test_is_pending_)
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 // offscreen. 527 // offscreen.
530 [shell->m_mainWnd orderOut:nil]; 528 [shell->m_mainWnd orderOut:nil];
531 shell->ResizeSubViews(); 529 shell->ResizeSubViews();
532 530
533 if (strstr(params.test_url.c_str(), "loading/")) 531 if (strstr(params.test_url.c_str(), "loading/"))
534 shell->layout_test_controller()->SetShouldDumpFrameLoadCallbacks(true); 532 shell->layout_test_controller()->SetShouldDumpFrameLoadCallbacks(true);
535 533
536 shell->test_is_preparing_ = true; 534 shell->test_is_preparing_ = true;
537 535
538 shell->set_test_params(&params); 536 shell->set_test_params(&params);
539 std::wstring wstr = UTF8ToWide(params.test_url.c_str()); 537 shell->LoadURL(GURL(params.test_url));
540 shell->LoadURL(wstr.c_str());
541 538
542 shell->test_is_preparing_ = false; 539 shell->test_is_preparing_ = false;
543 shell->WaitTestFinished(); 540 shell->WaitTestFinished();
544 shell->set_test_params(NULL); 541 shell->set_test_params(NULL);
545 542
546 return true; 543 return true;
547 } 544 }
548 545
549 void TestShell::LoadURLForFrame(const wchar_t* url, 546 void TestShell::LoadURLForFrame(const GURL& url,
550 const wchar_t* frame_name) { 547 const std::wstring& frame_name) {
551 if (!url) 548 if (!url.is_valid())
552 return; 549 return;
553 550
554 std::string url8 = WideToUTF8(url); 551 if (IsSVGTestURL(url)) {
555
556 bool bIsSVGTest = strstr(url8.c_str(), "W3C-SVG-1.1") > 0;
557
558 if (bIsSVGTest) {
559 SizeTo(kSVGTestWindowWidth, kSVGTestWindowHeight); 552 SizeTo(kSVGTestWindowWidth, kSVGTestWindowHeight);
560 } else { 553 } else {
561 // only resize back to the default when running tests 554 // only resize back to the default when running tests
562 if (layout_test_mode()) 555 if (layout_test_mode())
563 SizeToDefault(); 556 SizeToDefault();
564 } 557 }
565 558
566 std::string urlString(url8); 559 navigation_controller_->LoadEntry(
567 struct stat stat_buf; 560 new TestNavigationEntry(-1, url, std::wstring(), frame_name));
568 if (!urlString.empty() && stat(url8.c_str(), &stat_buf) == 0) {
569 urlString.insert(0, "file://");
570 }
571
572 std::wstring frame_string;
573 if (frame_name)
574 frame_string = frame_name;
575
576 navigation_controller_->LoadEntry(new TestNavigationEntry(
577 -1, GURL(urlString), std::wstring(), frame_string));
578 } 561 }
579 562
580 bool TestShell::PromptForSaveFile(const wchar_t* prompt_title, 563 bool TestShell::PromptForSaveFile(const wchar_t* prompt_title,
581 std::wstring* result) 564 std::wstring* result)
582 { 565 {
583 NSSavePanel* save_panel = [NSSavePanel savePanel]; 566 NSSavePanel* save_panel = [NSSavePanel savePanel];
584 567
585 /* set up new attributes */ 568 /* set up new attributes */
586 [save_panel setRequiredFileType:@"txt"]; 569 [save_panel setRequiredFileType:@"txt"];
587 [save_panel setMessage: 570 [save_panel setMessage:
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 return false; 690 return false;
708 } 691 }
709 692
710 void DidLoadPlugin(const std::string& filename) { 693 void DidLoadPlugin(const std::string& filename) {
711 } 694 }
712 695
713 void DidUnloadPlugin(const std::string& filename) { 696 void DidUnloadPlugin(const std::string& filename) {
714 } 697 }
715 698
716 } // namespace webkit_glue 699 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/tools/test_shell/test_shell_gtk.cc ('k') | webkit/tools/test_shell/test_shell_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698