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 #include "printing/page_size_margins.h" 6 7 #include "base/logging.h" 8 #include "base/values.h" 9 #include "printing/print_job_constants.h" 10 11 namespace printing { 12 13 void GetCustomMarginsFromJobSettings(const base::DictionaryValue& settings, 14 PageSizeMargins* page_size_margins) { 15 const base::DictionaryValue* custom_margins; 16 if (!settings.GetDictionary(kSettingMarginsCustom, &custom_margins) || 17 !custom_margins->GetDouble(kSettingMarginTop, 18 &page_size_margins->margin_top) || 19 !custom_margins->GetDouble(kSettingMarginBottom, 20 &page_size_margins->margin_bottom) || 21 !custom_margins->GetDouble(kSettingMarginLeft, 22 &page_size_margins->margin_left) || 23 !custom_margins->GetDouble(kSettingMarginRight, 24 &page_size_margins->margin_right)) { 25 NOTREACHED(); 26 } 27 } 28 29 } // namespace printing 30