Commit f968bfd8 authored by Ben Murdoch's avatar Ben Murdoch
Browse files

Merge from Chromium at DEPS revision r217147

This commit was generated by merge_to_master.py.

Change-Id: I503e836e213a81043e68c176ac95bb385b43ef2b
parent 9af2cb2b
......@@ -64,7 +64,7 @@ deps = {
'src/third_party/libexif/sources':
Var('git_url') + '/chromium/deps/libexif/sources.git@d815c325bab0d1871d4c7e70600ecdfdab07db9e',
'src/third_party/libjingle/source/talk':
Var('git_url') + '/external/webrtc/stable/talk.git@7bf94f9c4ab08aa82f78018d8ba363b5b60b05ed',
Var('git_url') + '/external/webrtc/stable/talk.git@3ca2c3528853f8a25fe42f0e998596ea5ce1f33d',
'src/third_party/libjpeg_turbo':
Var('git_url') + '/chromium/deps/libjpeg_turbo.git@82ce8a6d4ebe12a177c0c3597192f2b4f09e81c3',
'src/third_party/libphonenumber/src/phonenumbers':
......@@ -118,11 +118,11 @@ deps = {
'src/third_party/webdriver/pylib':
Var('git_url') + '/external/selenium/py.git@8212c8017c92a1ba740caf01c1acefb3674a6a44',
'src/third_party/webgl_conformance':
Var('git_url') + '/chromium/deps/webgl/sdk/tests.git@abbaf122a43703040783838a026ab5d470e9dd7e',
Var('git_url') + '/chromium/deps/webgl/sdk/tests.git@f138aa3ce7e555e329d8e388115018452f1cf60f',
'src/third_party/webpagereplay':
Var('git_url') + '/external/web-page-replay.git@ca269709e412d06b7b9f649dd47fb91f38f73852',
'src/third_party/webrtc':
Var('git_url') + '/external/webrtc/stable/webrtc.git@2b8e89ebe8233d5faca71c5df3fc0259ca7fa784',
Var('git_url') + '/external/webrtc/stable/webrtc.git@29613e9492aa3adb60b4fa2cf988f7c959056957',
'src/third_party/yasm/source/patched-yasm':
Var('git_url') + '/chromium/deps/yasm/patched-yasm.git@c960eb11ccda80b10ed50be39df4f0663b371d1d',
'src/tools/deps2git':
......
......@@ -38,7 +38,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling WebRTC
# and V8 without interference from each other.
"webrtc_revision": "4520",
"webrtc_revision": "4533",
"jsoncpp_revision": "248",
"nss_revision": "209026",
# Three lines of non-changing comments so that
......@@ -152,7 +152,7 @@ deps = {
# When roll to another webgl conformance tests revision, please goto
# chrome/test/gpu and run generate_webgl_conformance_test_list.py.
"src/third_party/webgl_conformance":
"/trunk/deps/third_party/webgl/sdk/tests@202601",
"/trunk/deps/third_party/webgl/sdk/tests@217097",
"src/third_party/swig/Lib":
"/trunk/deps/third_party/swig/Lib@" + Var("swig_revision"),
......
......@@ -326,21 +326,28 @@ TrayDisplay::TrayDisplay(SystemTray* system_tray)
: SystemTrayItem(system_tray),
default_(NULL) {
Shell::GetInstance()->display_controller()->AddObserver(this);
UpdateDisplayInfo(NULL);
}
TrayDisplay::~TrayDisplay() {
Shell::GetInstance()->display_controller()->RemoveObserver(this);
}
bool TrayDisplay::GetDisplayMessageForNotification(base::string16* message) {
void TrayDisplay::UpdateDisplayInfo(TrayDisplay::DisplayInfoMap* old_info) {
if (old_info)
old_info->swap(display_info_);
display_info_.clear();
DisplayManager* display_manager = GetDisplayManager();
DisplayInfoMap old_info;
old_info.swap(display_info_);
for (size_t i = 0; i < display_manager->GetNumDisplays(); ++i) {
int64 id = display_manager->GetDisplayAt(i).id();
display_info_[id] = display_manager->GetDisplayInfo(id);
}
}
bool TrayDisplay::GetDisplayMessageForNotification(
base::string16* message,
const TrayDisplay::DisplayInfoMap& old_info) {
// Display is added or removed. Use the same message as the one in
// the system tray.
if (display_info_.size() != old_info.size()) {
......@@ -405,13 +412,16 @@ void TrayDisplay::DestroyDefaultView() {
}
void TrayDisplay::OnDisplayConfigurationChanged() {
DisplayInfoMap old_info;
UpdateDisplayInfo(&old_info);
if (!Shell::GetInstance()->system_tray_delegate()->
ShouldShowDisplayNotification()) {
return;
}
base::string16 message;
if (GetDisplayMessageForNotification(&message))
if (GetDisplayMessageForNotification(&message, old_info))
UpdateDisplayNotification(message);
}
......
......@@ -37,11 +37,17 @@ class ASH_EXPORT TrayDisplay : public SystemTrayItem,
typedef std::map<int64, DisplayInfo> DisplayInfoMap;
// Checks the current display settings and determine what message should be
// shown for notification. Returns true if there's a meaningful change. Note
// that it's possible to return true and set |message| to empty, which means
// the notification should be removed.
bool GetDisplayMessageForNotification(base::string16* message);
// Scans the current display info and updates |display_info_|. Sets the
// previous data to |old_info| if it's not NULL.
void UpdateDisplayInfo(DisplayInfoMap* old_info);
// Compares the current display settings with |old_info| and determine what
// message should be shown for notification. Returns true if there's a
// meaningful change. Note that it's possible to return true and set |message|
// to empty, which means the notification should be removed.
bool GetDisplayMessageForNotification(
base::string16* message,
const DisplayInfoMap& old_info);
// Overridden from SystemTrayItem.
virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
......
......@@ -437,5 +437,24 @@ TEST_F(TrayDisplayTest, DisplayConfigurationChangedTwice) {
EXPECT_TRUE(GetDisplayNotificationText().empty());
}
TEST_F(TrayDisplayTest, UpdateAfterSuppressDisplayNotification) {
UpdateDisplay("400x400,200x200");
test::TestSystemTrayDelegate* tray_delegate =
static_cast<test::TestSystemTrayDelegate*>(
Shell::GetInstance()->system_tray_delegate());
tray_delegate->set_should_show_display_notification(true);
// rotate the second.
UpdateDisplay("400x400,200x200/r");
EXPECT_EQ(
l10n_util::GetStringFUTF16(
IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED,
GetSecondDisplayName(),
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90)),
GetDisplayNotificationText());
}
} // namespace internal
} // namespace ash
......@@ -121,7 +121,7 @@ int64 SeekPlatformFile(PlatformFile file,
PlatformFileWhence whence,
int64 offset) {
base::ThreadRestrictions::AssertIOAllowed();
if (file < 0 || offset < 0)
if (file == kInvalidPlatformFileValue || offset < 0)
return -1;
LARGE_INTEGER distance, res;
......
......@@ -565,6 +565,8 @@ IDS_FLAGS_ENABLE_PASSWORD_GENERATION_DESCRIPTION
IDS_FLAGS_ENABLE_PASSWORD_GENERATION_NAME
IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION
IDS_FLAGS_ENABLE_PINCH_SCALE_NAME
IDS_FLAGS_ENABLE_PNACL_DESCRIPTION
IDS_FLAGS_ENABLE_PNACL_NAME
IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_DESCRIPTION
IDS_FLAGS_ENABLE_REQUEST_TABLET_SITE_NAME
IDS_FLAGS_ENABLE_RICH_NOTIFICATIONS_DESCRIPTION
......@@ -670,8 +672,6 @@ IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_DESCRIPTION
IDS_FLAGS_PERFORMANCE_MONITOR_GATHERING_NAME
IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION
IDS_FLAGS_PER_TILE_PAINTING_NAME
IDS_FLAGS_PNACL_DESCRIPTION
IDS_FLAGS_PNACL_NAME
IDS_FLAGS_PRESENT_WITH_GDI_ALL_SHOW
IDS_FLAGS_PRESENT_WITH_GDI_DESCRIPTION
IDS_FLAGS_PRESENT_WITH_GDI_FIRST_SHOW
......
LASTCHANGE=217092
LASTCHANGE=217147
......@@ -5326,11 +5326,11 @@ Keep your key file in a safe place. You will need it to create new versions of y
<message name="IDS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS">
Debug everything except secure shell
</message>
<message name="IDS_FLAGS_PNACL_NAME" desc="Name of the 'Portable Native Client' lab.">
<message name="IDS_FLAGS_ENABLE_PNACL_NAME" desc="Name of the 'Enable Portable Native Client' lab.">
Portable Native Client.
</message>
<message name="IDS_FLAGS_PNACL_DESCRIPTION" desc="Description of the 'Disable Portable Native Client' lab.">
Allows web pages to use Portable Native Client.
<message name="IDS_FLAGS_ENABLE_PNACL_DESCRIPTION" desc="Description of the 'Enable Portable Native Client' lab.">
Enable support for Portable Native Client.
</message>
<message name="IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME" desc="Name of the 'Save Page as MHTML' lab.">
Save Page as MHTML
......
......@@ -513,11 +513,11 @@ const Experiment kExperiments[] = {
MULTI_VALUE_TYPE(kNaClDebugMaskChoices)
},
{
"disable-pnacl", // FLAGS:RECORD_UMA
IDS_FLAGS_PNACL_NAME,
IDS_FLAGS_PNACL_DESCRIPTION,
"enable-pnacl", // FLAGS:RECORD_UMA
IDS_FLAGS_ENABLE_PNACL_NAME,
IDS_FLAGS_ENABLE_PNACL_DESCRIPTION,
kOsDesktop,
ENABLE_DISABLE_VALUE_TYPE("", switches::kDisablePnacl)
SINGLE_VALUE_TYPE(switches::kEnablePnacl)
},
{
"extension-apis", // FLAGS:RECORD_UMA
......
......@@ -272,11 +272,12 @@ const char* kPredefinedAllowedSocketOrigins[] = {
"ghbfeebgmiidnnmeobbbaiamklmpbpii", // see crbug.com/134099
"jdfhpkjeckflbbleddjlpimecpbjdeep", // see crbug.com/142514
"iabmpiboiopbgfabjmgeedhcmjenhbla", // see crbug.com/165080
"B7CF8A292249681AF81771650BA4CEEAF19A4560", // see crbug.com/165080
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/234789
"7525AF4F66763A70A883C4700529F647B470E4D2", // see crbug.com/238084
"0B549507088E1564D672F7942EB87CA4DAD73972", // see crbug.com/238084
"864288364E239573E777D3E0E36864E590E95C74" // see crbug.com/238084
"B7CF8A292249681AF81771650BA4CEEAF19A4560", // see crbug.com/165080
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/234789
"4EB74897CB187C7633357C2FE832E0AD6A44883A", // see crbug.com/234789
"7525AF4F66763A70A883C4700529F647B470E4D2", // see crbug.com/238084
"0B549507088E1564D672F7942EB87CA4DAD73972", // see crbug.com/238084
"864288364E239573E777D3E0E36864E590E95C74" // see crbug.com/238084
};
#endif
......@@ -1447,7 +1448,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
switches::kDebugPrint,
switches::kDisableBundledPpapiFlash,
switches::kDisableExtensionsResourceWhitelist,
switches::kDisablePnacl,
switches::kDisableScriptedPrintThrottling,
switches::kEnableAdview,
switches::kEnableAdviewSrcAttribute,
......@@ -1457,6 +1457,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
switches::kEnableNaCl,
switches::kEnableNetBenchmarking,
switches::kEnablePasswordGeneration,
switches::kEnablePnacl,
switches::kEnableWatchdog,
switches::kMemoryProfiling,
switches::kMessageLoopHistogrammer,
......
......@@ -142,10 +142,8 @@ void GetDriveEntryPropertiesFunction::OnGetFileInfo(
file_specific_info.content_mime_type(),
file_path_.Extension());
file_tasks::TaskDescriptor default_task;
if (!file_tasks::ParseTaskID(default_task_id, &default_task)) {
LOG(WARNING) << "Invalid task ID: " << default_task_id;
return;
}
file_tasks::ParseTaskID(default_task_id, &default_task);
DCHECK(default_task_id.empty() || !default_task.app_id.empty());
ListValue* apps = new ListValue();
properties_->Set("driveApps", apps);
......
......@@ -67,6 +67,7 @@ std::string DeriveCommandLine(const GURL& start_url,
DCHECK_NE(&base_command_line, command_line);
static const char* kForwardSwitches[] = {
::switches::kAllowFiltersOverIPC,
::switches::kAllowWebUICompositing,
::switches::kDeviceManagementUrl,
::switches::kDisableAccelerated2dCanvas,
......
......@@ -10,7 +10,7 @@
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
#include "chromeos/dbus/shill_service_client_stub.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "content/public/browser/notification_service.h"
......@@ -352,6 +352,15 @@ void NetworkPortalDetectorImpl::CancelPortalDetection() {
void NetworkPortalDetectorImpl::OnPortalDetectionCompleted(
const CaptivePortalDetector::Results& results) {
captive_portal::Result result = results.result;
int response_code = results.response_code;
if (ShillServiceClientStub::IsStubPortalledWifiEnabled(
default_service_path_)) {
result = captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL;
response_code = 200;
}
DCHECK(CalledOnValidThread());
DCHECK(IsCheckingForPortal());
......@@ -368,8 +377,8 @@ void NetworkPortalDetectorImpl::OnPortalDetectionCompleted(
NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
CaptivePortalState state;
state.response_code = results.response_code;
switch (results.result) {
state.response_code = response_code;
switch (result) {
case captive_portal::RESULT_NO_RESPONSE:
if (attempt_count_ >= kMaxRequestAttempts) {
if (state.response_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED) {
......
......@@ -324,6 +324,11 @@ bool CountingPolicy::FlushDatabase(sql::Connection* db) {
update_statement.BindInt64(1, day_start.ToInternalValue());
update_statement.BindInt64(2, next_day.ToInternalValue());
for (size_t j = 0; j < matched_values.size(); j++) {
// A call to BindNull when matched_values contains -1 is likely not
// necessary as parameters default to null before they are explicitly
// bound. But to be completely clear, and in case a cached statement
// ever comes with some values already bound, we bind all parameters
// (even null ones) explicitly.
if (matched_values[j] == -1)
update_statement.BindNull(j + 3);
else
......@@ -347,7 +352,7 @@ bool CountingPolicy::FlushDatabase(sql::Connection* db) {
insert_statement.BindInt64(0, action.time().ToInternalValue());
for (size_t j = 0; j < matched_values.size(); j++) {
if (matched_values[j] == -1)
update_statement.BindNull(j + 1);
insert_statement.BindNull(j + 1);
else
insert_statement.BindInt64(j + 1, matched_values[j]);
}
......
......@@ -56,6 +56,9 @@ class TabCaptureApiTest : public ExtensionApiTest {
// http://crbug.com/261493 and http://crbug.com/268644
#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_AURA)
#define MAYBE_ApiTests DISABLED_ApiTests
#elif defined(OS_WIN)
// http://crbug.com/263951
#define MAYBE_ApiTests DISABLED_ApiTests
#else
#define MAYBE_ApiTests ApiTests
#endif
......@@ -81,6 +84,9 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_ApiTests) {
// http://crbug.com/268644
#if defined(USE_AURA)
#define MAYBE_ApiTestsAudio DISABLED_ApiTestsAudio
#elif defined(OS_WIN)
// http://crbug.com/263951
#define MAYBE_ApiTestsAudio DISABLED_ApiTestsAudio
#else
#define MAYBE_ApiTestsAudio ApiTestsAudio
#endif
......
......@@ -61,6 +61,18 @@ enum BackgroundPageType {
EVENT_PAGE = 2,
};
// Used in histogram Extensions.ExternalItemState. Values may be added, as
// long as existing values are not changed.
enum ExternalItemState {
DEPRECATED_EXTERNAL_ITEM_DISABLED = 0,
DEPRECATED_EXTERNAL_ITEM_ENABLED = 1,
EXTERNAL_ITEM_WEBSTORE_DISABLED = 2,
EXTERNAL_ITEM_WEBSTORE_ENABLED = 3,
EXTERNAL_ITEM_NONWEBSTORE_DISABLED = 4,
EXTERNAL_ITEM_NONWEBSTORE_ENABLED = 5,
EXTERNAL_ITEM_MAX_ITEMS = 6
};
ManifestReloadReason ShouldReloadExtensionManifest(const ExtensionInfo& info) {
// Always reload manifests of unpacked extensions, because they can change
// on disk independent of the manifest in our prefs.
......@@ -267,22 +279,28 @@ void InstalledLoader::LoadAllExtensions() {
}
if (Manifest::IsExternalLocation(location)) {
// See loop below for DISABLED.
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
Extension::ENABLED, 100);
if (ManifestURL::UpdatesFromGallery(*ex)) {
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
EXTERNAL_ITEM_WEBSTORE_ENABLED,
EXTERNAL_ITEM_MAX_ITEMS);
} else {
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
EXTERNAL_ITEM_NONWEBSTORE_ENABLED,
EXTERNAL_ITEM_MAX_ITEMS);
}
}
if ((*ex)->from_webstore()) {
// Check for inconsistencies if the extension was supposedly installed
// from the webstore.
enum {
BAD_UPDATE_URL = 0,
IS_EXTERNAL = 1,
// This value was a mistake. Turns out sideloaded extensions can
// have the from_webstore bit if they update from the webstore.
DEPRECATED_IS_EXTERNAL = 1,
};
if (!ManifestURL::UpdatesFromGallery(*ex)) {
UMA_HISTOGRAM_ENUMERATION("Extensions.FromWebstoreInconsistency",
BAD_UPDATE_URL, 2);
} else if (Manifest::IsExternalLocation(location)) {
UMA_HISTOGRAM_ENUMERATION("Extensions.FromWebstoreInconsistency",
IS_EXTERNAL, 2);
}
}
......@@ -384,8 +402,15 @@ void InstalledLoader::LoadAllExtensions() {
}
if (Manifest::IsExternalLocation((*ex)->location())) {
// See loop above for ENABLED.
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
Extension::DISABLED, 100);
if (ManifestURL::UpdatesFromGallery(*ex)) {
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
EXTERNAL_ITEM_WEBSTORE_DISABLED,
EXTERNAL_ITEM_MAX_ITEMS);
} else {
UMA_HISTOGRAM_ENUMERATION("Extensions.ExternalItemState",
EXTERNAL_ITEM_NONWEBSTORE_DISABLED,
EXTERNAL_ITEM_MAX_ITEMS);
}
}
}
......
......@@ -29,7 +29,8 @@ namespace chrome {
namespace {
const char* kPredefinedAllowedCrxFsOrigins[] = {
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F" // see crbug.com/234789
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/234789
"4EB74897CB187C7633357C2FE832E0AD6A44883A" // see crbug.com/234789
};
} // namespace
......
chrome/browser/resources/2x/downloads_section.png

5.55 KB | W: | H:

chrome/browser/resources/2x/downloads_section.png

5.55 KB | W: | H:

chrome/browser/resources/2x/downloads_section.png
chrome/browser/resources/2x/downloads_section.png
chrome/browser/resources/2x/downloads_section.png
chrome/browser/resources/2x/downloads_section.png
  • 2-up
  • Swipe
  • Onion skin
chrome/browser/resources/2x/ssl_roadblock_icon.png

3.67 KB | W: | H:

chrome/browser/resources/2x/ssl_roadblock_icon.png

3.67 KB | W: | H:

chrome/browser/resources/2x/ssl_roadblock_icon.png
chrome/browser/resources/2x/ssl_roadblock_icon.png
chrome/browser/resources/2x/ssl_roadblock_icon.png
chrome/browser/resources/2x/ssl_roadblock_icon.png
  • 2-up
  • Swipe
  • Onion skin
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