Home | History | Annotate | Download | only in common
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Multiply-included file, no traditional include guard.
      6 #include <string>
      7 #include <vector>
      8 
      9 #include "content/public/common/common_param_traits.h"
     10 #include "content/public/common/page_state.h"
     11 #include "content/shell/common/leak_detection_result.h"
     12 #include "content/shell/common/shell_test_configuration.h"
     13 #include "ipc/ipc_message_macros.h"
     14 #include "ipc/ipc_platform_file.h"
     15 #include "third_party/skia/include/core/SkBitmap.h"
     16 
     17 #define IPC_MESSAGE_START ShellMsgStart
     18 
     19 IPC_STRUCT_TRAITS_BEGIN(content::ShellTestConfiguration)
     20 IPC_STRUCT_TRAITS_MEMBER(current_working_directory)
     21 IPC_STRUCT_TRAITS_MEMBER(temp_path)
     22 IPC_STRUCT_TRAITS_MEMBER(test_url)
     23 IPC_STRUCT_TRAITS_MEMBER(enable_pixel_dumping)
     24 IPC_STRUCT_TRAITS_MEMBER(allow_external_pages)
     25 IPC_STRUCT_TRAITS_MEMBER(expected_pixel_hash)
     26 IPC_STRUCT_TRAITS_MEMBER(initial_size)
     27 IPC_STRUCT_TRAITS_END()
     28 
     29 // Tells the renderer to reset all test runners.
     30 IPC_MESSAGE_ROUTED0(ShellViewMsg_Reset)
     31 
     32 // Sets the path to the WebKit checkout.
     33 IPC_MESSAGE_CONTROL1(ShellViewMsg_SetWebKitSourceDir,
     34                      base::FilePath /* webkit source dir */)
     35 
     36 // Sets the initial configuration to use for layout tests.
     37 IPC_MESSAGE_ROUTED1(ShellViewMsg_SetTestConfiguration,
     38                     content::ShellTestConfiguration)
     39 
     40 // Tells the main window that a secondary window in a different process invoked
     41 // notifyDone().
     42 IPC_MESSAGE_ROUTED0(ShellViewMsg_NotifyDone)
     43 
     44 // Pushes a snapshot of the current session history from the browser process.
     45 // This includes only information about those RenderViews that are in the
     46 // same process as the main window of the layout test and that are the current
     47 // active RenderView of their WebContents.
     48 IPC_MESSAGE_ROUTED3(
     49     ShellViewMsg_SessionHistory,
     50     std::vector<int> /* routing_ids */,
     51     std::vector<std::vector<content::PageState> > /* session_histories */,
     52     std::vector<unsigned> /* current_entry_indexes */)
     53 
     54 IPC_MESSAGE_ROUTED0(ShellViewMsg_TryLeakDetection)
     55 
     56 // Send a text dump of the WebContents to the render host.
     57 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_TextDump,
     58                     std::string /* dump */)
     59 
     60 // Send an image dump of the WebContents to the render host.
     61 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_ImageDump,
     62                     std::string /* actual pixel hash */,
     63                     SkBitmap /* image */)
     64 
     65 // Send an audio dump to the render host.
     66 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_AudioDump,
     67                     std::vector<unsigned char> /* audio data */)
     68 
     69 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_TestFinished)
     70 
     71 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_ResetDone)
     72 
     73 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_TestFinishedInSecondaryWindow)
     74 
     75 // WebTestDelegate related.
     76 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_OverridePreferences,
     77                     WebPreferences /* preferences */)
     78 IPC_SYNC_MESSAGE_ROUTED1_1(ShellViewHostMsg_RegisterIsolatedFileSystem,
     79                            std::vector<base::FilePath> /* absolute_filenames */,
     80                            std::string /* filesystem_id */)
     81 IPC_SYNC_MESSAGE_ROUTED1_1(ShellViewHostMsg_ReadFileToString,
     82                            base::FilePath /* local path */,
     83                            std::string /* contents */)
     84 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_PrintMessage,
     85                     std::string /* message */)
     86 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_ClearDevToolsLocalStorage)
     87 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_ShowDevTools,
     88                     std::string /* settings */,
     89                     std::string /* frontend_url */)
     90 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_CloseDevTools)
     91 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_GoToOffset,
     92                     int /* offset */)
     93 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_Reload)
     94 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_LoadURLForFrame,
     95                     GURL /* url */,
     96                     std::string /* frame_name */)
     97 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_ClearAllDatabases)
     98 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_SetDatabaseQuota,
     99                     int /* quota */)
    100 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_AcceptAllCookies,
    101                     bool /* accept */)
    102 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_DeleteAllCookies)
    103 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_SetDeviceScaleFactor,
    104                     float /* factor */)
    105 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_CaptureSessionHistory)
    106 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_CloseRemainingWindows)
    107 
    108 IPC_STRUCT_TRAITS_BEGIN(content::LeakDetectionResult)
    109 IPC_STRUCT_TRAITS_MEMBER(leaked)
    110 IPC_STRUCT_TRAITS_MEMBER(detail)
    111 IPC_STRUCT_TRAITS_END()
    112 
    113 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_LeakDetectionDone,
    114                     content::LeakDetectionResult /* result */)
    115