Commit d8f2b4b0 authored by Torne (Richard Coles)'s avatar Torne (Richard Coles)
Browse files

Merge from Chromium at DEPS revision 33.0.1750.29

This commit was generated by merge_to_master.py.

Change-Id: I1ad39a3dffafbde2b517578820a3b4d77d690d56
parent b4efa9af
......@@ -116,9 +116,6 @@ v8.log
/chrome/tools/memory
/chrome/tools/test/reference_build
/chrome/unit_tests_run.xml
/chrome_frame/chrome_frame_ie.xml
/chrome_frame/chrome_frame_launcher_version_resources.xml
/chrome_frame/chrome_frame_version_resources.xml
/chrome_frame/tools/test/reference_build
/cloud_print/cloud_print_version_resources.xml
/components/variations.xml
......
......@@ -1995,6 +1995,14 @@ public class AwContents {
return null;
}
public void extractSmartClipData(int x, int y, int width, int height) {
mContentViewCore.extractSmartClipData(x, y, width, height);
}
public void setSmartClipDataListener(ContentViewCore.SmartClipDataListener listener) {
mContentViewCore.setSmartClipDataListener(listener);
}
//--------------------------------------------------------------------------------------------
// Native methods
//--------------------------------------------------------------------------------------------
......
......@@ -153,8 +153,6 @@
'dependencies': [
# TODO(jschuh) Enable Win64 Memory Watcher. crbug.com/176877
'../tools/memory_watcher/memory_watcher.gyp:*',
# TODO(jschuh) Enable Win64 Chrome Frame. crbug.com/176875
'../chrome_frame/chrome_frame.gyp:*',
],
}],
],
......@@ -278,7 +276,6 @@
# defined in installer.gyp.
'../chrome/installer/mini_installer.gyp:mini_installer',
'../chrome_elf/chrome_elf.gyp:chrome_elf_unittests',
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
'../courgette/courgette.gyp:courgette_unittests',
'../sandbox/sandbox.gyp:sbox_integration_tests',
'../sandbox/sandbox.gyp:sbox_unittests',
......@@ -288,22 +285,6 @@
'../ui/views/views.gyp:views_unittests',
],
'conditions': [
['target_arch!="x64"', {
'dependencies': [
'../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
]
}, { # target_arch!="x64"
'dependencies!': [
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
],
'defines': [
'OMIT_CHROME_FRAME',
],
}], # target_arch=="x64"
# remoting_host_installation uses lots of non-trivial GYP that tend
# to break because of differences between ninja and msbuild. Make
# sure this target is built by the builders on the main waterfall.
......@@ -825,7 +806,6 @@
# mini_installer_tests depends on mini_installer. This should be
# defined in installer.gyp.
'../chrome/installer/mini_installer.gyp:mini_installer',
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
'../courgette/courgette.gyp:courgette_unittests',
'../device/device_tests.gyp:device_unittests',
'../google_apis/gcm/gcm.gyp:gcm_unit_tests',
......@@ -849,40 +829,10 @@
'../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
'../third_party/WebKit/public/blink_test_plugin.gyp:blink_test_plugin',
],
'conditions': [
['target_arch!="x64"', {
'dependencies': [
'../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
]
}, { # target_arch!="x64"
'dependencies!': [
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
],
'defines': [
'OMIT_CHROME_FRAME',
],
}], # target_arch=="x64"
],
},
{
'target_name': 'chromium_builder_win_cf',
'type': 'none',
'conditions': [
['target_arch!="x64"', {
'dependencies': [
'../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
],
}], # target_arch!="x64"
],
},
{
'target_name': 'chromium_builder_dbg_tsan_win',
......@@ -967,7 +917,6 @@
['target_arch=="ia32"', {
'dependencies': [
'../chrome/chrome.gyp:crash_service_win64',
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
# Omitting tests from Win64 to speed up cycle times.
'../chrome/chrome.gyp:interactive_ui_tests',
],
......@@ -978,11 +927,6 @@
'../remoting/remoting.gyp:remoting_host_installation',
],
}], # component != "shared_library"
['target_arch=="x64"', {
'defines': [
'OMIT_CHROME_FRAME',
],
}], # target_arch=="x64"
]
},
], # targets
......@@ -1024,24 +968,6 @@
['OS=="win"', {
'dependencies': [
'../chrome/chrome.gyp:crash_service',
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
],
}],
['OS=="win" and target_arch!="x64"', {
'dependencies': [
'../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
'../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
],
}],
['OS=="win" and target_arch=="x64"', {
'dependencies!': [
'../chrome_frame/chrome_frame.gyp:npchrome_frame',
],
'defines': [
'OMIT_CHROME_FRAME',
],
}],
['OS=="win" and target_arch=="ia32"', {
......
LASTCHANGE=243718
LASTCHANGE=244627
LASTCHANGE=164719
LASTCHANGE=165012
MAJOR=33
MINOR=0
BUILD=1750
PATCH=22
PATCH=29
......@@ -519,12 +519,6 @@ Chromium is unable to recover your settings.
<message name="IDS_INSTALL_HIGHER_VERSION_APP_LAUNCHER" desc="Error displayed when higher version of the Chromium App Launcher already exists.">
This computer already has a more recent version of the Chromium components. Please use a more recent installer.
</message>
<message name="IDS_INSTALL_HIGHER_VERSION_CF" desc="Error displayed when higher version already exists.">
This computer already has a more recent version of Chromium Frame. If the software is not working, please uninstall Chromium Frame and try again.
</message>
<message name="IDS_INSTALL_HIGHER_VERSION_CB_CF" desc="Error displayed when higher version of Chromium and Chromium Frame already exists">
This computer already has a more recent version of Chromium and Chromium Frame. If the software is not working, please uninstall both Chromium and Chromium Frame and try again.
</message>
<message name="IDS_INSTALL_SYSTEM_LEVEL_EXISTS" desc="Error displayed during user level install if system level Chromium Frame is already installed.">
Chromium Frame is already installed and available to all users of this computer. If you want to install Chromium Frame at the user level, you must first uninstall the system-level version installed by an administrator.
</message>
......@@ -534,9 +528,6 @@ Chromium is unable to recover your settings.
<message name="IDS_SAME_VERSION_REPAIR_FAILED" desc="Error displayed if installation fails due to Chrome running.">
Can not install the same Chromium version that is currently running. Please close Chromium and try again.
</message>
<message name="IDS_SAME_VERSION_REPAIR_FAILED_CF" desc="Error displayed if installation fails due to Chrome running.">
Can not install the same Chromium Frame version that is currently running. Please close Chromium Frame and try again.
</message>
<message name="IDS_SETUP_PATCH_FAILED" desc="Error message when setup.exe fails to patch itself.">
Installation failed due to unspecified error. Please download Chromium again.
</message>
......
......@@ -6674,14 +6674,6 @@ Keep your key file in a safe place. You will need it to create new versions of y
<message name="IDS_FLAGS_DISABLE_USER_IMAGE_SYNC_DESCRIPTION" desc="Description for the flag to disable sync of user account image.">
Disables sync of user account image between different ChromeOS devices.
</message>
<if expr="is_android">
<message name="IDS_FLAGS_ENABLE_CAST_NAME" desc="Name of the flag to enable Chromecast support.">
Enable Chromecast support
</message>
<message name="IDS_FLAGS_ENABLE_CAST_DESCRIPTION" desc="Description for the flag to disable playing videos remotely on Chromecast.">
Enable playing videos remotely on Chromecast.
</message>
</if>
<if expr="pp_ifdef('chromeos')">
<message name="IDS_FLAGS_DISABLE_FIRST_RUN_UI_NAME" desc="Name of the flag to disable new first-run UI.">
Disable new first-run UI.
......@@ -6739,12 +6731,6 @@ Keep your key file in a safe place. You will need it to create new versions of y
<message name="IDS_FLAGS_DISABLE_CLICK_DELAY_DESCRIPTION" desc="Description of the flag to disable the click delay.">
Always send click events immediate upon a tap, even when it's part of a double-tap gesture. This speeds up navigation and other tap actions by 300ms on most pages, but means links and buttons must be avoided when double tapping to zoom.
</message>
<message name="IDS_FLAGS_LOW_END_DEVICE_MODE_DESCRIPTION" desc="Description of the flag to tweak low end device optimizations.">
Overrides low end device optimizations.
</message>
<message name="IDS_FLAGS_LOW_END_DEVICE_MODE_NAME" desc="Name of the flag to tweak low end device optimizations.">
Low end device mode.
</message>
</if>
<message name="IDS_FLAGS_ENABLE_TRANSLATE_NEW_UX_NAME" desc="Name of the flag to enable the new Translate UX.">
Enable the new Translate UX.
......
......@@ -442,12 +442,6 @@ Google Chrome is unable to recover your settings.
<message name="IDS_INSTALL_HIGHER_VERSION_APP_LAUNCHER" desc="Error displayed when higher version of the Chrome App Launcher already exists.">
This computer already has a more recent version of the Google Chrome components. Please use a more recent installer.
</message>
<message name="IDS_INSTALL_HIGHER_VERSION_CF" desc="Error displayed when higher version of Chrome Frame already exists">
This computer already has a more recent version of Google Chrome Frame. If the software is not working, please uninstall Google Chrome Frame and try again.
</message>
<message name="IDS_INSTALL_HIGHER_VERSION_CB_CF" desc="Error displayed when higher version of Chrome and Chrome Frame already exists">
This computer already has a more recent version of Google Chrome and Google Chrome Frame. If the software is not working, please uninstall both Google Chrome and Google Chrome Frame and try again.
</message>
<message name="IDS_INSTALL_SYSTEM_LEVEL_EXISTS" desc="Error displayed during user level install if system level Chrome Frame is already installed.">
Google Chrome Frame is already installed and available to all users of this computer. If you want to install Google Chrome Frame at the user level, you must first uninstall the system-level version installed by an administrator.
</message>
......@@ -457,9 +451,6 @@ Google Chrome is unable to recover your settings.
<message name="IDS_SAME_VERSION_REPAIR_FAILED" desc="Error displayed if installation fails due to Chrome running.">
Can not install the same Google Chrome version that is currently running. Please close Google Chrome and try again.
</message>
<message name="IDS_SAME_VERSION_REPAIR_FAILED_CF" desc="Error displayed if installation fails due to Chrome Frame already running.">
Can not install the same Google Chrome Frame version that is currently running. Please close Google Chrome Frame and try again.
</message>
<message name="IDS_SETUP_PATCH_FAILED" desc="Error message when setup.exe fails to patch itself.">
Installation failed due to unspecified error. Please download Google Chrome again.
</message>
......
......@@ -1795,15 +1795,6 @@ const Experiment kExperiments[] = {
SINGLE_VALUE_TYPE("")
#endif
},
#if defined(OS_ANDROID)
{
"enable-cast",
IDS_FLAGS_ENABLE_CAST_NAME,
IDS_FLAGS_ENABLE_CAST_DESCRIPTION,
kOsAndroid,
SINGLE_VALUE_TYPE(switches::kEnableCast)
},
#endif
#if defined(OS_CHROMEOS)
{
"disable-first-run-ui",
......@@ -1873,14 +1864,6 @@ const Experiment kExperiments[] = {
// Java-only switch: CommandLine.DISABLE_CLICK_DELAY
SINGLE_VALUE_TYPE("disable-click-delay")
},
{
"low-end-device-mode",
IDS_FLAGS_LOW_END_DEVICE_MODE_NAME,
IDS_FLAGS_LOW_END_DEVICE_MODE_DESCRIPTION,
kOsAndroid,
ENABLE_DISABLE_VALUE_TYPE(switches::kEnableLowEndDeviceMode,
switches::kDisableLowEndDeviceMode)
},
#endif
#if defined(OS_CHROMEOS)
{
......
......@@ -889,7 +889,6 @@ void BrowserProcessImpl::CreateLocalState() {
prefs::kMetricsReportingEnabled,
base::Bind(&BrowserProcessImpl::ApplyMetricsReportingPolicy,
base::Unretained(this)));
ApplyMetricsReportingPolicy();
#endif
int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy);
......@@ -919,6 +918,10 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
if (local_state_->IsManagedPreference(prefs::kDefaultBrowserSettingEnabled))
ApplyDefaultBrowserPolicy();
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS)
ApplyMetricsReportingPolicy();
#endif
#if defined(ENABLE_PLUGINS)
PluginService* plugin_service = PluginService::GetInstance();
plugin_service->SetFilter(ChromePluginServiceFilter::GetInstance());
......@@ -1044,11 +1047,11 @@ void BrowserProcessImpl::ApplyAllowCrossOriginAuthPromptPolicy() {
void BrowserProcessImpl::ApplyMetricsReportingPolicy() {
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS)
BrowserThread::PostTask(
CHECK(BrowserThread::PostTask(
BrowserThread::FILE, FROM_HERE,
base::Bind(
base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent),
local_state()->GetBoolean(prefs::kMetricsReportingEnabled)));
local_state()->GetBoolean(prefs::kMetricsReportingEnabled))));
#endif
}
......
......@@ -471,11 +471,13 @@ void JobScheduler::UpdateResource(
const std::string& new_title,
const base::Time& last_modified,
const base::Time& last_viewed_by_me,
const ClientContext& context,
const google_apis::GetResourceEntryCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK(!callback.is_null());
JobEntry* new_job = CreateNewJob(TYPE_UPDATE_RESOURCE);
new_job->context = context;
new_job->task = base::Bind(
&DriveServiceInterface::UpdateResource,
base::Unretained(drive_service_),
......
......@@ -131,6 +131,7 @@ class JobScheduler
const std::string& new_title,
const base::Time& last_modified,
const base::Time& last_viewed_by_me,
const ClientContext& context,
const google_apis::GetResourceEntryCallback& callback);
// Adds a RenameResource operation to the queue.
......
......@@ -437,6 +437,7 @@ TEST_F(JobSchedulerTest, UpdateResource) {
"New Document", // new title
base::Time(),
base::Time(),
ClientContext(USER_INITIATED),
google_apis::test_util::CreateCopyResultCallback(&error, &entry));
base::RunLoop().RunUntilIdle();
......
......@@ -150,6 +150,7 @@ void EntryUpdatePerformer::UpdateEntryAfterPrepare(
scheduler_->UpdateResource(
entry->resource_id(), parent_resource_id,
entry->title(), last_modified, last_accessed,
ClientContext(BACKGROUND),
base::Bind(&EntryUpdatePerformer::UpdateEntryAfterUpdateResource,
weak_ptr_factory_.GetWeakPtr(), callback, entry->local_id()));
}
......
......@@ -44,6 +44,6 @@ bool FirstRunPrivateGetLocalizedStringsFunction::RunImpl() {
}
bool FirstRunPrivateLaunchTutorialFunction::RunImpl() {
chromeos::LaunchFirstRunTutorial();
chromeos::first_run::LaunchTutorial();
return true;
}
......@@ -2,22 +2,26 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/command_line.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/first_run/first_run_controller.h"
#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/ui/extensions/application_launch.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/chromeos_switches.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
#include "extensions/common/constants.h"
namespace chromeos {
namespace first_run {
void LaunchFirstRunDialog() {
UserManager* user_manager = UserManager::Get();
Profile* profile =
user_manager->GetProfileByUser(user_manager->GetActiveUser());
if (!profile)
return;
namespace {
void LaunchDialogForProfile(Profile* profile) {
ExtensionService* service =
extensions::ExtensionSystem::Get(profile)->extension_service();
if (!service)
......@@ -32,8 +36,59 @@ void LaunchFirstRunDialog() {
profile, extension, extensions::LAUNCH_CONTAINER_WINDOW, NEW_WINDOW));
}
void LaunchFirstRunTutorial() {
// Object of this class waits for session start. Then it launches or not
// launches first-run dialog depending on flags. Than object deletes itself.
class DialogLauncher : public content::NotificationObserver {
public:
explicit DialogLauncher(Profile* profile)
: profile_(profile) {
DCHECK(profile);
registrar_.Add(this,
chrome::NOTIFICATION_SESSION_STARTED,
content::NotificationService::AllSources());
}
virtual ~DialogLauncher() {}
virtual void Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE {
DCHECK(type == chrome::NOTIFICATION_SESSION_STARTED);
DCHECK(content::Details<const User>(details).ptr() ==
UserManager::Get()->GetUserByProfile(profile_));
CommandLine* command_line = CommandLine::ForCurrentProcess();
bool launched_in_test = command_line->HasSwitch(::switches::kTestType);
bool launched_in_telemetry =
command_line->HasSwitch(switches::kOobeSkipPostLogin);
bool first_run_disabled =
command_line->HasSwitch(switches::kDisableFirstRunUI);
bool is_user_new = chromeos::UserManager::Get()->IsCurrentUserNew();
bool first_run_forced = command_line->HasSwitch(switches::kForceFirstRunUI);
if (!launched_in_telemetry && !first_run_disabled &&
((is_user_new && !launched_in_test) || first_run_forced)) {
LaunchDialogForProfile(profile_);
}
delete this;
}
private:
Profile* profile_;
content::NotificationRegistrar registrar_;
DISALLOW_COPY_AND_ASSIGN(DialogLauncher);
};
} // namespace
void MaybeLaunchDialogAfterSessionStart() {
UserManager* user_manager = UserManager::Get();
new DialogLauncher(
user_manager->GetProfileByUser(user_manager->GetActiveUser()));
}
void LaunchTutorial() {
FirstRunController::Start();
}
} // namespace first_run
} // namespace chromeos
......@@ -5,14 +5,22 @@
#ifndef CHROME_BROWSER_CHROMEOS_FIRST_RUN_FIRST_RUN_H_
#define CHROME_BROWSER_CHROMEOS_FIRST_RUN_FIRST_RUN_H_
namespace user_prefs {
class PrefRegistrySyncable;
}
namespace chromeos {
namespace first_run {
// Launches app suggesting to participate in tutorial.
void LaunchFirstRunDialog();
// Probably launches first-run dialog after session start depending on synced
// user prefs. This method should be called after user already logged in but
// session didn't started yet.
void MaybeLaunchDialogAfterSessionStart();
// Launches overlay tutorial.
void LaunchFirstRunTutorial();
// Launches overlay tutorial for current user.
void LaunchTutorial();
} // namespace first_run
} // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_FIRST_RUN_FIRST_RUN_H_
......@@ -60,7 +60,7 @@ class FirstRunUIBrowserTest : public InProcessBrowserTest,
}
void LaunchTutorial() {
chromeos::LaunchFirstRunTutorial();
chromeos::first_run::LaunchTutorial();
EXPECT_TRUE(controller() != NULL);
// Replacing delegate to observe all messages coming from WebUI to
// controller.
......
......@@ -26,6 +26,7 @@
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/boot_times_loader.h"
#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/first_run/first_run.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/login_display_host.h"
......@@ -1014,7 +1015,8 @@ void ExistingUserController::InitializeStartUrls() const {
std::vector<std::string> start_urls;
const base::ListValue *urls;
bool can_show_getstarted_guide = true;
bool can_show_getstarted_guide =
UserManager::Get()->IsLoggedInAsRegularUser();
if (UserManager::Get()->IsLoggedInAsDemoUser()) {
if (CrosSettings::Get()->GetList(kStartUpUrls, &urls)) {
// The retail mode user will get start URLs from a special policy if it is
......@@ -1053,9 +1055,11 @@ void ExistingUserController::InitializeStartUrls() const {
UserManager::Get()->IsCurrentUserNew();
if (can_show_getstarted_guide && should_show_getstarted_guide) {
// Don't open default Chrome window if we're going to launch the GS app.
// Because we dont' want the GS app to be hidden in the background.
// Don't open default Chrome window if we're going to launch the first-run
// app. Because we dont' want the first-run app to be hidden in the
// background.
CommandLine::ForCurrentProcess()->AppendSwitch(::switches::kSilentLaunch);
first_run::MaybeLaunchDialogAfterSessionStart();
} else {
for (size_t i = 0; i < start_urls.size(); ++i) {
CommandLine::ForCurrentProcess()->AppendArg(start_urls[i]);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment