diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-27 21:23:38 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-27 21:23:38 +0000 |
commit | 42b995700007da6cddadeeb7623681ae673c8235 (patch) | |
tree | eea2eb3ed6623a7fbe767912552145ccd950c3e3 /webkit/port/platform | |
parent | 8051fc415897d5135786ccf8a545ddc73fda3898 (diff) | |
download | chromium_src-42b995700007da6cddadeeb7623681ae673c8235.zip chromium_src-42b995700007da6cddadeeb7623681ae673c8235.tar.gz chromium_src-42b995700007da6cddadeeb7623681ae673c8235.tar.bz2 |
Add Mac codepath for FileChooser::basenameForWidth in FileChooserChromium.cpp
Review URL: http://codereview.chromium.org/8630
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4026 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/port/platform')
-rw-r--r-- | webkit/port/platform/chromium/FileChooserChromium.cpp | 5 | ||||
-rw-r--r-- | webkit/port/platform/chromium/FileChooserChromiumMac.h | 41 | ||||
-rw-r--r-- | webkit/port/platform/chromium/FileChooserChromiumMac.mm | 44 |
3 files changed, 90 insertions, 0 deletions
diff --git a/webkit/port/platform/chromium/FileChooserChromium.cpp b/webkit/port/platform/chromium/FileChooserChromium.cpp index fb15349..6d38b2db 100644 --- a/webkit/port/platform/chromium/FileChooserChromium.cpp +++ b/webkit/port/platform/chromium/FileChooserChromium.cpp @@ -33,6 +33,9 @@ #include "Document.h" #include "Frame.h" #include "FileChooser.h" +#if PLATFORM(DARWIN) +#include "FileChooserChromiumMac.h" +#endif #include "LocalizedStrings.h" #include "NotImplemented.h" #include "Page.h" @@ -68,6 +71,8 @@ String FileChooser::basenameForWidth(const Font& font, int width) const // Apple's code has a LPTSTR here, which will compile and run, but is wrong. wchar_t* basename = PathFindFileName(tmpFilename.charactersWithNullTermination()); string = String(basename); +#elif PLATFORM(DARWIN) + string = FileChooserGetBaseNameFromPath(m_filename); #else notImplemented(); string = "fixme"; diff --git a/webkit/port/platform/chromium/FileChooserChromiumMac.h b/webkit/port/platform/chromium/FileChooserChromiumMac.h new file mode 100644 index 0000000..5b546fc --- /dev/null +++ b/webkit/port/platform/chromium/FileChooserChromiumMac.h @@ -0,0 +1,41 @@ +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef FileChooserChromiumMac_h__ +#define FileChooserChromiumMac_h__ + +namespace WebCore { + +class String; + +// Returns the basename of a path. +String FileChooserGetBaseNameFromPath(const String &path); + +} + +#endif diff --git a/webkit/port/platform/chromium/FileChooserChromiumMac.mm b/webkit/port/platform/chromium/FileChooserChromiumMac.mm new file mode 100644 index 0000000..389bb8d --- /dev/null +++ b/webkit/port/platform/chromium/FileChooserChromiumMac.mm @@ -0,0 +1,44 @@ +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#include "config.h" +#include "FileChooserChromiumMac.h" + +#import <Foundation/NSFileManager.h> +#include "PlatformString.h" + +namespace WebCore { + +String FileChooserGetBaseNameFromPath(const String &path) { + // TODO(playmobil): Perhaps in the future we can unify this with the other + // platforms by using the FilePath class in base. + return [[NSFileManager defaultManager] displayNameAtPath:path]; +} + +} |