summaryrefslogtreecommitdiffstats
path: root/content/common/view_messages.h
Commit message (Collapse)AuthorAgeFilesLines
* Create RenderFrame/RenderFrameHost for the main frame of a page.nasko@chromium.org2013-05-311-1/+5
| | | | | | | | | | This CL is the first in a series that will move frame specific functionality from RenderView/RenderViewHost to RenderFrame/RenderFrameHost. In this change, I'm only creating the objects for the top level frame and keeping them as members of RenderView/RenderViewHost for now. BUG=245126 Review URL: https://chromiumcodereview.appspot.com/16032007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203500 0039d316-1c4b-4281-b951-d872f2087c98
* Update refernces to Blink's Platform API (content)abarth@chromium.org2013-05-301-2/+2
| | | | | | | | | | | | | | These headers have moved from Source/Platform/chromium/public to public/platform. This CL updates content's references to the old location to point to the new location. After this CL lands, I'll remove the forwarding headers that are letting these references still work. TBR=jamesr@chromium.org BUG=239545 Review URL: https://chromiumcodereview.appspot.com/15822010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203047 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race between DPI and window sizeccameron@chromium.org2013-05-291-12/+14
| | | | | | | | | | | | | | | | | Because the display scale factor and the window size are sent in two different IPCs, and because the window size (ViewMsg_Resize) may be delayed (to avoid spamming the renderer with resize messages while dragging), the renderer can think it's using a different resolution than it is. This merges the ViewMsg_ScreenInfoChanged and ViewMsg_Resize messages, so that the renderer cannot not have a consistent view of the window size and DPI. BUG=239624 Review URL: https://chromiumcodereview.appspot.com/16048003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202814 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce content::PageState (again).darin@chromium.org2013-05-281-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a concrete class wrapping a string that contains the data of a serialized WebKit::WebHistoryItem class. Previously, we've just passed around these as strings, giving them names like "state", "content_state" or "history_state". It has been hard to identify all of the places in the code where these strings get passed around. A concrete class should make usage more apparent. Plus, instead of manipulating the strings using methods from webkit/glue/glue_serialize.h, we can just declare methods on the PageState class. This makes the code much cleaner. This first pass just implements PageState in terms of glue_serialize. It also adds content/public/renderer/history_item_serialization.h as the home for PageState to WebKit::WebHistoryItem conversion, which should ideally only be usable from the renderer process. (This bit is a step toward resolving bug 237243.) page_state.h declares operator==() to support DCHECK_EQ, which seems consistent with the idea of PageState being a replacement for std::string. I didn't want to litter tests with calls to PageState::ToEncodedData(). That would get cumbersome. Originally reviewed at: https://codereview.chromium.org/14985014 The only difference is that page_state.cc is now split into two pieces: page_state.cc and page_state_webkit.cc. The second holds the definition of all methods that depend on webkit/glue. That way code like Chrome Frame and the iOS port of Chromium can use PageState without pulling in a dependency on webkit/glue at link time. BUG=240426 R=brettw@chromium.org, grt@chromium.org, joth@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/16162003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202678 0039d316-1c4b-4281-b951-d872f2087c98
* Part 3/3 (RWH/IOSurface) of adding with device scale factor to transport ↵ccameron@chromium.org2013-05-271-6/+13
| | | | | | | | | | | | | | | | surfaces Pass the scale factor through the image transport surface to the IOSurface creation. Change ViewHostMsg_CompositorSurfaceBuffersSwapped to use a params structure, because there is a limit of 5 IPC arguments. BUG=132714 Review URL: https://chromiumcodereview.appspot.com/15689003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202371 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 202188 "Introduce content::PageState."grt@chromium.org2013-05-261-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change bloated npchrome_frame.dll (see http://build.chromium.org/f/chromium/perf/xp-release/sizes/report.html?=undefined&history=3&rev=202214&graph=npchrome_frame.dll) because content_common.lib's common_param_traits.obj depends on content_common.lib's page_state.obj which, in turn, depends on webkit. This means that consumers of IPC messages in content_common suddenly require all of webkit. > Introduce content::PageState. > > This is a concrete class wrapping a string that contains the > data of a serialized WebKit::WebHistoryItem class. Previously, > we've just passed around these as strings, giving them names > like "state", "content_state" or "history_state". It has been > hard to identify all of the places in the code where these > strings get passed around. A concrete class should make usage > more apparent. Plus, instead of manipulating the strings using > methods from webkit/glue/glue_serialize.h, we can just declare > methods on the PageState class. This makes the code much cleaner. > > This first pass just implements PageState in terms of glue_serialize. > It also adds content/public/renderer/history_item_serialization.h > as the home for PageState to WebKit::WebHistoryItem conversion, > which should ideally only be usable from the renderer process. > (This bit is a step toward resolving bug 237243.) > > page_state.h declares operator==() to support DCHECK_EQ, which > seems consistent with the idea of PageState being a replacement > for std::string. I didn't want to litter tests with calls to > PageState::ToEncodedData(). That would get cumbersome. > > BUG=240426 > R=brettw@chromium.org, tsepez@chromium.org > > Review URL: https://codereview.chromium.org/14985014 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/16068002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202321 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce content::PageState.darin@chromium.org2013-05-241-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a concrete class wrapping a string that contains the data of a serialized WebKit::WebHistoryItem class. Previously, we've just passed around these as strings, giving them names like "state", "content_state" or "history_state". It has been hard to identify all of the places in the code where these strings get passed around. A concrete class should make usage more apparent. Plus, instead of manipulating the strings using methods from webkit/glue/glue_serialize.h, we can just declare methods on the PageState class. This makes the code much cleaner. This first pass just implements PageState in terms of glue_serialize. It also adds content/public/renderer/history_item_serialization.h as the home for PageState to WebKit::WebHistoryItem conversion, which should ideally only be usable from the renderer process. (This bit is a step toward resolving bug 237243.) page_state.h declares operator==() to support DCHECK_EQ, which seems consistent with the idea of PageState being a replacement for std::string. I didn't want to litter tests with calls to PageState::ToEncodedData(). That would get cumbersome. BUG=240426 R=brettw@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/14985014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202188 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename VSync to BeginFramebrianderson@chromium.org2013-05-231-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are replacing hard vsync scheduling with BeginFrame+deadline intervals. This patch removes references to vsync in CC where it will no longer make sense. (One exception is cc::VSyncTimeSource, which will be removed in future patches to be incorporated into the scheduler itself.) Additionally, BeginFrames are clarified with suffixes whenever context is not enough and existing identifiers associated with BeginFrame when it no longer makes sense are renamed. A summary of the important renames are as follows: Browser Side Renames: COutputSurface::EnableVSyncNotification -> SetNeedsBeginFrame COutputSurface::OnDidVSync -> OnBeginFrame ViewHostMsg_SetVSyncNotificationEnabled -> ViewHostMsg_SetNeedsBeginFrame ViewMsg_DidVSync -> ViewMsg_BeginFrame Impl Side Renames: LTHI::EnableVSyncNotification -> SetNeedsBeginFrame LTHI::DidVSync -> BeginFrame LTHI::DidRecieveLastInputEventForVSync -> DidReceiveLastInputEventForBeginFrame Main+Impl Side Renames: LTHIClient::DidVSync -> BeginFrameOnImplThread LTHIClient::DidRecieveLastInputEventForVSync -> DidReceiveLastInputEventForBeginFrameOnImplThread TProxy::BeginFrame -> BeginFrameOnMainThread TProxy::ForceBeginFrameOnImplThread -> ForceCommitOnImplThread TProxy::BeginFrameCompleteOnImplThread -> StartCommitOnImplThread Scheduler::BeginFrameComplete -> FinishCommit Scheduler::BeginFrameAborted -> BeginFrameAbortedByMainThread Scheduler::LastVsyncTime -> LastBeginFrameOnImplThreadTime Scheduler::VSyncTick -> BeginFrame SchedulerSM::VSyncCallbackNeeded -> BeginFrameNeededByImplThread SchedulerSM::ACTION_BEGIN_FRAME -> ACTION_SEND_BEGIN_FRAME_TO_MAIN_THREAD FRC::DidBeginFrame -> DidSwapBuffers FRC::DidFinishFrame -> DidSwapBuffersComplete Random Renames: LTSettings::render_vsync_enabled -> throttle_frame_production LTSettings::render_vsync_notification_enabled -> render_parent_drives_begin_frame LTSettings::synchronously_disable_vsync -> using_synchronous_renderer_compositor RenderWidget::SynchronouslyDisableVSync -> UsingSynchronousRendererCompositor BUG=240945 Review URL: https://chromiumcodereview.appspot.com/15058004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201739 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the misspelling hash identifier to the spelling menu observerrouslan@chromium.org2013-05-231-0/+1
| | | | | | | | | | | | | | | This CL passes the hash identifier of the misspelling under the cursor to the spelling menu observer. The spelling menu observer will use this identifier to collect feedback about user actions on misspellings. For example, the user could ignore spelling suggestions, add a word to their custom dictionary, or select one of the spellcheck suggestions. This feedback will be used to improve spellcheck suggestions. BUG=170514 Review URL: https://chromiumcodereview.appspot.com/15616002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201654 0039d316-1c4b-4281-b951-d872f2087c98
* Hide location bar on Javascript-initiated scroll.mvanouwerkerk@chromium.org2013-05-211-0/+5
| | | | | | | | | | | | | | | | | | | | | Many sites use window.scrollTo(0,1) and other offsets as a means of hiding the location bar on mobile. In fact, Android Browser and iOS support hiding the location bar on any Javascript-initiated scroll. See also corresponding WebKit bugs: https://bugs.webkit.org/show_bug.cgi?id=107027 This is a patch based on on jknottten's work: https://chromiumcodereview.appspot.com/11967015/ TEST=Test that URL bar is hidden when pressing on the various test buttons in http://jsbin.com/eruxon/5 BUG=165317 Review URL: https://chromiumcodereview.appspot.com/14139013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201303 0039d316-1c4b-4281-b951-d872f2087c98
* Switch Linux Aura ports over to POSIX SHM instead of legacy SYSV SHM.cevans@chromium.org2013-05-171-17/+19
| | | | | | | | | BUG=147622 R=jln@chromium.org, piman@chromium.org, skaslev@chromium.org Review URL: https://codereview.chromium.org/13529027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200741 0039d316-1c4b-4281-b951-d872f2087c98
* Support renderer overscroll notifications to the browserjdduke@chromium.org2013-05-091-0/+7
| | | | | | | | | | | | As per crrev.com/14499002, compositor overscroll notifications are sent to the input handler. This patch allows the renderer to forward such updates to the browser, dispatching them via IPC when requested to do so. BUG=135975 Review URL: https://chromiumcodereview.appspot.com/14203007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199294 0039d316-1c4b-4281-b951-d872f2087c98
* Create a frame tree in WebContents on the browser side.nasko@chromium.org2013-05-091-2/+11
| | | | | | | | | | This is a small delta from the original patch at https://codereview.chromium.org/14374002/. BUG=235879 Review URL: https://chromiumcodereview.appspot.com/14580004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199087 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the rate to send media log events over IPC.changbin.shao@intel.com2013-05-041-2/+2
| | | | | | | | | | Some media events e.g. BufferedExtentsChanged update quite often, this causes heavy IPC traffic for CPU. In the meantime, chrome://media-internals doesn't need to update data in such a high frequency. Use array to send these events every 1 second. BUG=235096 Review URL: https://chromiumcodereview.appspot.com/14146018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198314 0039d316-1c4b-4281-b951-d872f2087c98
* Handle decoding of vorbis files better on Androidrtoy@google.com2013-05-031-2/+3
| | | | | | | | | | BUG=227144 Send the data size to MediaCodec so we can get the duration length for ogg/vorbis files correctly instead of returning a huge number. With this information, we no longer need the is_vorbis flag since the duration is now correct, so we remove that code as well. Review URL: https://chromiumcodereview.appspot.com/14522002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198029 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 197717 "Create a frame tree in WebContents on the browser..." for ↵mattm@chromium.org2013-05-011-11/+2
| | | | | | | | | | | | | | | | | | DCHECK fail on mac browser_tests. > Create a frame tree in WebContents on the browser side. > > The first step to supporting out-of-process iframes is to replicate the frame tree for each page to the browser process. This CL adds a FrameTreeNode class and forms a tree of such nodes in WebContents. Follow up changes will utilize this class to hold frame-specific functionality. > > BUG=235879 > > Review URL: https://chromiumcodereview.appspot.com/14374002 TBR=nasko@chromium.org Review URL: https://codereview.chromium.org/14598013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197727 0039d316-1c4b-4281-b951-d872f2087c98
* Create a frame tree in WebContents on the browser side.nasko@chromium.org2013-05-011-2/+11
| | | | | | | | | | The first step to supporting out-of-process iframes is to replicate the frame tree for each page to the browser process. This CL adds a FrameTreeNode class and forms a tree of such nodes in WebContents. Follow up changes will utilize this class to hold frame-specific functionality. BUG=235879 Review URL: https://chromiumcodereview.appspot.com/14374002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197717 0039d316-1c4b-4281-b951-d872f2087c98
* Move WebPreferences to root namespace gman@chromium.org2013-05-011-2/+2
| | | | | | | | | | | This is in preparation to using the IPC_STRUCT_XXX macros BUG=235200 TBR=darin@chromium.org,brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/14364006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197659 0039d316-1c4b-4281-b951-d872f2087c98
* Switch content_shell from using PruneAllButActive to a more explicit approachjochen@chromium.org2013-04-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | During layout tests, we want to reuse one WebContents for running multiple layout tests. Since layout tests assume that they're the first entry in the session history, we need to reset the session history. DumpRenderTree achieved this by just killing the NavigationController. Since that's not possible in the content module, I used the instant api PruneAllButActive. This API, however, depends on the currently active RenderView being the last in the session history, which is almost impossible to guarantee in practice. Instead, I added a flag to LoadURLParams that instructs the NavigationController to reset itself as soon as the navigation to the next test commits. BUG=111316 TEST=the fast/history tests don't fail flakily TBR=creis@chromium.org, jam@chromium.org Review URL: https://codereview.chromium.org/14134003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197314 0039d316-1c4b-4281-b951-d872f2087c98
* Splits SmoothGestureController from RenderWidgetHostImplbulach@chromium.org2013-04-291-4/+2
| | | | | | | | | | | | | | | | | | | | Relands r192041, failed on Vista Tests. Elements were pushed when the platform sends an input event, but they're are popped when the event are ACKd. There are other internal queues such as "touch_event_queue_" and "gesture_filter_" that may coalesce / ACK events using their own internal order. This results in in_process_event_types_ not being popped correctly, and prevents Telemetry from synthesizing Motion events on android. The solution is to move the synthetic events out of RenderWidgetHostImpl and use a simple counter there. BUG=166521 TEST=content_unittest, SmoothScrollGestureControllerTest Review URL: https://chromiumcodereview.appspot.com/13535003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197090 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new pair of IPC categories for messages that need handling as input eventsjamesr@chromium.org2013-04-271-89/+0
| | | | | | | | | | | | | | | | | | | | The compositor thread input filtering mechanism adds the possibility of handling some IPCs in the render process main thread in a different order than they were sent from the browser process since it filters some messages from the IO thread. For the most part, this is OK since the exact order of different types of messages is not important but there are some input-related messages that do need to processed in order - for instance MouseCaptureLost (see crbug.com/231532). This adds a new IPC class, InputMsg, for messages that need input-like filtering and InputHostMsg for their ACKs. All messages of this class are routed through the compositor thread to preserve order. BUG=233365 Review URL: https://chromiumcodereview.appspot.com/14487003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196907 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 195553 "Allow showing pending URL for new tab navigations..."creis@chromium.org2013-04-241-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Caused spike in renderer crashes. > Allow showing pending URL for new tab navigations, but only if safe. > > We revert to showing the opener's URL if it modifies the content of the > initial blank page before the pending URL commits, to prevent URL spoofs. > > Implications: > - All renderer-initiated navigations now have pending NavigationEntries. > - GetURL and GetTitle use the visible entry, not active entry. > - The renderer notifies the browser if DOM mutations occur before first load. > > [Second attempt, after http://crrev.com/191277 was reverted.] > > BUG=9682 > TEST=Open a slow link in a new tab. Destination URL should be visible and reloadable. > > Review URL: https://chromiumcodereview.appspot.com/13846007 TBR=creis@chromium.org Review URL: https://codereview.chromium.org/13966012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195970 0039d316-1c4b-4281-b951-d872f2087c98
* nit: Fix placement of Snapshot IPC message.justinlin@chromium.org2013-04-231-5/+7
| | | | | | Review URL: https://chromiumcodereview.appspot.com/14197012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195894 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r195688 which was reverted due to build break.varunjain@chromium.org2013-04-231-0/+3
| | | | | | | | | | | | | | | There are two changes from the original CL: 1. In RenderWidgetHostViewAura::OnWindowFocused, update touch_editing_client_ before host->Shutdown. 2. Patched in r195696 to fix win_aura build BUG=115237 TBR=jam@chromium.org,tsepez@chromium.org Review URL: https://chromiumcodereview.appspot.com/13999010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195823 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 195688 "Enable touch based selection and editing for webp..."jam@chromium.org2013-04-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crashes on http://build.chromium.org/p/chromium.chromiumos/buildstatus?builder=Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29&number=18415 and http://build.chromium.org/p/chromium.chromiumos/buildstatus?builder=Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29%28Precise%29&number=2887 with: [ RUN ] RenderWidgetHostViewAuraTest.DestroyFullscreenOnBlur Xlib: extension "RANDR" missing on display ":9.0". Received signal 11 <unknown> 000000000000 [0x7fd160de519c] base::debug::StackTrace::StackTrace() [0x7fd160de4a46] base::debug::(anonymous namespace)::StackDumpSignalHandler() [0x7fd15c58a8f0] <unknown> [0x7fd162e9c56a] content::RenderWidgetHostViewAura::OnWindowFocused() [0x7fd16b555f92] aura::FocusManager::FocusWindow() [0x7fd16b56c3f1] aura::Window::Focus() [0x0000008830e8] content::RenderWidgetHostViewAuraTest_DestroyFullscreenOnBlur_Test::TestBody() [0x000000e9ec43] testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0x000000e9c16e] testing::internal::HandleExceptionsInMethodIfSupported<>() [0x000000e910a6] testing::Test::Run() [0x000000e918ca] testing::TestInfo::Run() [0x000000e91ff8] testing::TestCase::Run() [0x000000e96fa3] testing::internal::UnitTestImpl::RunAllTests() [0x000000e9fa94] testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0x000000e9c9b7] testing::internal::HandleExceptionsInMethodIfSupported<>() [0x000000e95a72] testing::UnitTest::Run() [0x000000e589f8] base::TestSuite::Run() [0x000000df11cc] content::UnitTestTestSuite::Run() [0x0000009f4e6a] main [0x7fd15a8b3c4d] __libc_start_main [0x0000005a4039] <unknown> r8: 000000000000005c r9: 0101010101010101 r10: 0000000000000000 r11: 00007fd15a91c03e r12: 0000000000000000 r13: 00007fffd00893b0 r14: 0000000000000000 r15: 0000000000000000 di: 00007fd157b720c8 si: 0000000000000000 bp: 00007fffd00889a0 bx: 0000000000000000 dx: 00000000000015b6 ax: cdcdcdcdcdcdcdcd cx: 0000000000000076 sp: 00007fffd0088760 ip: 00007fd162e9c56a efl: 0000000000010282 cgf: 0000000000000033 erf: 0000000000000000 trp: 000000000000000d msk: 0000000000000000 cr2: 0000000000000000 when relanding, please also patch in r195696 to fix the win aura components build failure > Enable touch based selection and editing for webpages behind a flag. > > BUG=115237 > > Review URL: https://chromiumcodereview.appspot.com/12321005 TBR=varunjain@chromium.org Review URL: https://codereview.chromium.org/13890008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195702 0039d316-1c4b-4281-b951-d872f2087c98
* Enable touch based selection and editing for webpages behind a flag.varunjain@chromium.org2013-04-231-0/+3
| | | | | | | | BUG=115237 Review URL: https://chromiumcodereview.appspot.com/12321005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195688 0039d316-1c4b-4281-b951-d872f2087c98
* Removing old style frame tree updates.nasko@chromium.org2013-04-231-49/+0
| | | | | | | | | | | | Going forward, we will be using a different structure in the browser process to store the frame tree, so the current implementation doesn't make sense. Also, it had problems with race conditions, so it was disabled for a while. BUG=128767, 153701 Review URL: https://chromiumcodereview.appspot.com/14273010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195657 0039d316-1c4b-4281-b951-d872f2087c98
* Allow showing pending URL for new tab navigations, but only if safe. creis@chromium.org2013-04-221-0/+5
| | | | | | | | | | | | | | | | | | | We revert to showing the opener's URL if it modifies the content of the initial blank page before the pending URL commits, to prevent URL spoofs. Implications: - All renderer-initiated navigations now have pending NavigationEntries. - GetURL and GetTitle use the visible entry, not active entry. - The renderer notifies the browser if DOM mutations occur before first load. [Second attempt, after http://crrev.com/191277 was reverted.] BUG=9682 TEST=Open a slow link in a new tab. Destination URL should be visible and reloadable. Review URL: https://chromiumcodereview.appspot.com/13846007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195553 0039d316-1c4b-4281-b951-d872f2087c98
* Send vsync notification from browser to renderer on Androidskyostil@chromium.org2013-04-191-1/+12
| | | | | | | | | | | | | Allow the renderer to subscribe to a vsync notification from the browser. This change adds the necessary IPC plumbing but does not actually implement the vsync signal source; this is done with a separate patch. BUG=149227 Review URL: https://chromiumcodereview.appspot.com/13068002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195136 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate UpdateFrameInfo and SwapCompositorFrame.sievers@chromium.org2013-04-171-9/+0
| | | | | | | | | | | The 'frame info' comes from the CompositorFrame message, and the fields are useful only if the update implies a Swap (--composite-to-mailbox or ubercomp). (In other words, a scroll offset is not useful if you don't know what frame it is for.) Review URL: https://codereview.chromium.org/14210004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194669 0039d316-1c4b-4281-b951-d872f2087c98
* Android implementation of WebAudio audio file decoder.rtoy@google.com2013-04-151-0/+5
| | | | | | | | | | | | | | | This implements WebAudio's DecodeAudioFileData that decodes in-memory audio files. This in conjunction with https://codereview.chromium.org/12843039/ and https://bugs.webkit.org/show_bug.cgi?id=109755 adds support for WebAudio on Android. Everything is behind an about:flags flag, and is disabled by default. By default, everything is also not compiled in until use_openmax_dl_fft is set to 1. BUG= Review URL: https://chromiumcodereview.appspot.com/12457043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194141 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify cross-process navigation start.simonjam@chromium.org2013-04-111-3/+3
| | | | | | | | | | | | | This should also fix the bug when a renderer process is reused for cross-process navigation. Previously, it would remain unset, now it should be set. BUG=225984 Review URL: https://chromiumcodereview.appspot.com/13146008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193523 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 192041 "Splits SmoothGestureController from RenderWidgetH..."phoglund@chromium.org2013-04-031-4/+5
| | | | | | | | | | | | | | | | | | | | | | | > Splits SmoothGestureController from RenderWidgetHostImpl > > Elements were pushed when the platform sends an input event, > but they're are popped when the event are ACKd. > There are other internal queues such as "touch_event_queue_" and > "gesture_filter_" that may coalesce / ACK events using their own internal > order. > This results in in_process_event_types_ not being popped correctly, and > prevents Telemetry from synthesizing Motion events on android. > The solution is to move the synthetic events out of RenderWidgetHostImpl and use a simple counter there. > > BUG=166521 > TEST=content_unittest, SmoothScrollGestureControllerTest > > Review URL: https://chromiumcodereview.appspot.com/11858007 TBR=bulach@chromium.org Review URL: https://codereview.chromium.org/13408009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192054 0039d316-1c4b-4281-b951-d872f2087c98
* Splits SmoothGestureController from RenderWidgetHostImplbulach@chromium.org2013-04-031-5/+4
| | | | | | | | | | | | | | | | | | Elements were pushed when the platform sends an input event, but they're are popped when the event are ACKd. There are other internal queues such as "touch_event_queue_" and "gesture_filter_" that may coalesce / ACK events using their own internal order. This results in in_process_event_types_ not being popped correctly, and prevents Telemetry from synthesizing Motion events on android. The solution is to move the synthetic events out of RenderWidgetHostImpl and use a simple counter there. BUG=166521 TEST=content_unittest, SmoothScrollGestureControllerTest Review URL: https://chromiumcodereview.appspot.com/11858007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192041 0039d316-1c4b-4281-b951-d872f2087c98
* Wires through a message once the page has painted somethingsky@chromium.org2013-04-011-0/+5
| | | | | | | | | | | | | | interesting. Interesting being the first paint after a non-empty layout. BUG=none TEST=none R=simonjam@chromium.org Review URL: https://chromiumcodereview.appspot.com/13220003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191632 0039d316-1c4b-4281-b951-d872f2087c98
* Split FaviconHelper in two: ImageLoadingHelper and FaviconHelper.dimich@chromium.org2013-03-291-0/+12
| | | | | | | | | | | | | | | | | | This is the first step of fixing http://crbug.com/196769. The problem is that there are two types of users of Content::DownloadFavicon() - the favicon consumers and regular icons and images consumers. Recently, the otherwise-generic image download+decoding implementation regressed because it was assumed to be only used for favicon loading. The proposed fix is to add a parameter to the method (enum, FAVICON/IMAGE) and rename it from DownloadFavicon to DownloadImage, to make sure the name corresponds to the impl/usage. This is rename-only part, no additional parameter yet. The FaviconHelper class was split in 2, with new ImageLoadingHelper dealing with images. BUG=196769 Review URL: https://chromiumcodereview.appspot.com/12780024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191304 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 191277 "Allow showing pending URL for new tab navigations..."rsleevi@chromium.org2013-03-291-5/+0
| | | | | | | | | | | | | | | | | | | | | | | > Allow showing pending URL for new tab navigations, but only if safe. > > We revert to showing the opener's URL if it modifies the content of the > initial blank page before the pending URL commits, to prevent URL spoofs. > > Implications: > - All renderer-initiated navigations now have pending NavigationEntries. > - GetURL and GetTitle use the visible entry, not active entry. > - The renderer notifies the browser if DOM mutations occur before first load. > > BUG=9682 > TEST=Open a slow link in a new tab. Destination URL should be visible and reloadable. > > > Review URL: https://chromiumcodereview.appspot.com/12541018 TBR=creis@chromium.org Review URL: https://codereview.chromium.org/13294002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191295 0039d316-1c4b-4281-b951-d872f2087c98
* Allow showing pending URL for new tab navigations, but only if safe.creis@chromium.org2013-03-291-0/+5
| | | | | | | | | | | | | | | | | | We revert to showing the opener's URL if it modifies the content of the initial blank page before the pending URL commits, to prevent URL spoofs. Implications: - All renderer-initiated navigations now have pending NavigationEntries. - GetURL and GetTitle use the visible entry, not active entry. - The renderer notifies the browser if DOM mutations occur before first load. BUG=9682 TEST=Open a slow link in a new tab. Destination URL should be visible and reloadable. Review URL: https://chromiumcodereview.appspot.com/12541018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191277 0039d316-1c4b-4281-b951-d872f2087c98
* Enable hiding/showing top controls persistentlydtrainor@chromium.org2013-03-281-3/+6
| | | | | | | | | | | | Pass down to the renderer whether or not we should allow showing the fullscreen controls as well as hiding. BUG=161303 Review URL: https://chromiumcodereview.appspot.com/12954003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191210 0039d316-1c4b-4281-b951-d872f2087c98
* Expose a concept of bottom overdraw amount for cc drawing viewport.tedchoc@chromium.org2013-03-241-1/+2
| | | | | | | | | | | | | | | When the physical output surface is larger than the visible viewport, we need to subtract the overdraw to ensure you can scroll to the full content of the page. Resizing the output surface is expensive on mobile devices, so we minimize resizes and deal with this size mismatch. BUG=161303, 221995 Review URL: https://chromiumcodereview.appspot.com/12437023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190142 0039d316-1c4b-4281-b951-d872f2087c98
* Add RenderWidgetHost::GetSnapshotFromRenderer method to content/ interface ↵justinlin@chromium.org2013-03-231-0/+8
| | | | | | | | | | | | | | | | for snapshotting for cases where we might not be able to use CopyFromBackingStore because the browser side can't access the backing store or accelerated surface due to driver issues or WinXP. Consolidate renderer-side snapshotting into that method and move clients (tabsApi, tabCapture and NTP) to the new method. Let the Linux CopyFromCompositingSurface always use this since the current one is incorrect if the tab is in the background or is covered by a window. Remove Linux-GTK snapshotting workarounds. BUG=188867, 174957, 132301 Review URL: https://codereview.chromium.org/12881005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189969 0039d316-1c4b-4281-b951-d872f2087c98
* Removed support for Core Animation plugins when accelerated compositing is ↵kbr@chromium.org2013-03-191-52/+0
| | | | | | | | | | | | | | | disabled. CA plugins have been rendered through Chrome's compositor for several releases now and it has not been found necessary to revert back to the older behavior. If the compositor is disabled, then support for the Core Animation and Invalidating Core Animation drawing models is no longer advertised. Tested with the Unity and NPAPI Flash plugins. As expected, Unity no longer renders with the compositor disabled; NPAPI Flash falls back to the Core Graphics drawing model. (Pepper Flash is not affected; it happens to require the compositor before and after this change.) BUG=105344 Review URL: https://chromiumcodereview.appspot.com/12641008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188928 0039d316-1c4b-4281-b951-d872f2087c98
* Part 4 of cc/ directory shuffles: outputjamesr@chromium.org2013-03-181-3/+3
| | | | | | | | | | | Continuation of https://src.chromium.org/viewvc/chrome?view=rev&revision=188681 BUG=190824 TBR=piman@chromium.org, jschuh@chromium.org Review URL: https://codereview.chromium.org/12912006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188689 0039d316-1c4b-4281-b951-d872f2087c98
* Pass more detailed audio hardware configuration information to the renderercrogers@google.com2013-03-131-6/+5
| | | | | | | | | | | | | | AudioHardwareConfig currently contains an ad-hoc mix of pieces of information about the audio input and output hardware. This CL adds more complete and symmetric information about the audio hardware as tracked in AudioHardwareConfig. The ChannelMixer is also upgraded to allow for "discrete" up and down mixing. BUG=none TEST=manual - several tests updated Review URL: https://codereview.chromium.org/12387006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187936 0039d316-1c4b-4281-b951-d872f2087c98
* Implementing pauseTimers for chromium webviewkristianm@chromium.org2013-03-121-0/+4
| | | | | | | | | | | | | Moving this into content/ so it can be used by android_webview. After landing will remove the downstream uses of the chrome/ implementation and later remove the chrome/ implementation. BUG= Review URL: https://chromiumcodereview.appspot.com/12374099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187533 0039d316-1c4b-4281-b951-d872f2087c98
* Web Content zoom settings should not apply to login/lock screenantrim@chromium.org2013-03-111-1/+3
| | | | | | | | | | | | | | | Add scheme to HostZoomMap, use it to specify unmodifiable zoom level for internal ui pages. Reason : Currently, zoom settings are remebered on a per-host basis, and ignore scheme. It works nice for http/https access for the same host, but it is not possible to distinguish between internal ui (with chrome:// scheme) and some intranet sites (having https://login/ does not seem unlikely). BUG=164269 Review URL: https://chromiumcodereview.appspot.com/11866004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187331 0039d316-1c4b-4281-b951-d872f2087c98
* Disable partial swaps for webview guest renderer until we can figure out how ↵alexst@chromium.org2013-03-081-0/+5
| | | | | | | | | | | to do that properly. BUG=179256 Review URL: https://chromiumcodereview.appspot.com/12463007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186863 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Android WebView synchronous find.boliu@chromium.org2013-03-081-15/+0
| | | | | | | | | | | | | | | | | After the browser UI thread and the renderer compositor threads are merged, all synchronous calls from UI to renderer will possible deadlocks since the renderer webkit thread blocks on the compositor thread all the time. Therefore remove support for synchronous find in page which is already an deprecated API. BUG=179436 TBR=palmer@chromium.org (Only removing ipc message) Review URL: https://chromiumcodereview.appspot.com/12383030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186827 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb physical backing size from RWHV to renderer CC.aelias@chromium.org2013-03-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a concept of "physical backing size" which is plumbed down from port-specific browser code to the renderer compositor. This is distinct from the usual concept of view size on high-DPI screens with >1 dpi scale. Physical backing size represents the size of the texture CC draws to, whereas the view size is given to WebKit and specifies the CSS width/height. Before this patch, physical backing size was recalculated in the renderer by multiplying the view size by DPI scale. There are two problems with this: - This introduces off-by-one errors when DPI scale is non-integral. Values such as 1.5 and 1.33125 are common on Android devices. - The Android port would like to more efficiently implement features like on-screen-keyboard bringup and URL-bar hiding without needing to resize the backing texture. Separating the value given to CC and to WebKit is the first step towards this. WebKit counterpart at https://bugs.webkit.org/show_bug.cgi?id=110727 NOTRY=true BUG=152502 Review URL: https://chromiumcodereview.appspot.com/12328080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185621 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 185475jln@chromium.org2013-03-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > Plumb physical backing size from RWHV to renderer CC. > > This patch introduces a concept of "physical backing size" which is plumbed > down from port-specific browser code to the renderer compositor. > > This is distinct from the usual concept of view size on high-DPI screens > with >1 dpi scale. Physical backing size represents the size of the > texture CC draws to, whereas the view size is given to WebKit and > specifies the CSS width/height. > > Before this patch, physical backing size was recalculated in the > renderer by multiplying the view size by DPI scale. There are two problems > with this: > > - This introduces off-by-one errors when DPI scale is non-integral. > Values such as 1.5 and 1.33125 are common on Android devices. > - The Android port would like to more efficiently implement features like > on-screen-keyboard bringup and URL-bar hiding without needing to > resize the backing texture. Separating the value given to CC and to > WebKit is the first step towards this. > > WebKit counterpart at https://bugs.webkit.org/show_bug.cgi?id=110727 > > NOTRY=true > BUG=152502 > > Review URL: https://chromiumcodereview.appspot.com/12328080 TBR=aelias@chromium.org Review URL: https://codereview.chromium.org/12380054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185482 0039d316-1c4b-4281-b951-d872f2087c98