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 | |
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')
4 files changed, 96 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]; +} + +} diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj index 772e32a..c877cc8 100644 --- a/webkit/webkit.xcodeproj/project.pbxproj +++ b/webkit/webkit.xcodeproj/project.pbxproj @@ -440,6 +440,7 @@ B5599D130E95942900E2A85A /* SVGDocumentExtensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599D120E95942900E2A85A /* SVGDocumentExtensions.cpp */; }; B5599D160E9594E800E2A85A /* SVGImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5599D140E9594E800E2A85A /* SVGImage.cpp */; }; B57635F80E96C13D008A7ABC /* ResourceResponseBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B57635F70E96C13D008A7ABC /* ResourceResponseBase.cpp */; }; + B58533D80EB658D7007104C1 /* FileChooserChromiumMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = B58533A40EB6543C007104C1 /* FileChooserChromiumMac.mm */; }; B58831090E9BD5B000CEC344 /* RenderReplica.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B58831070E9BD5B000CEC344 /* RenderReplica.cpp */; }; B58831140E9BD61F00CEC344 /* TextControlInnerElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B58831130E9BD61F00CEC344 /* TextControlInnerElements.cpp */; }; B588312A0E9BD6D800CEC344 /* StringBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B58831290E9BD6D800CEC344 /* StringBuilder.cpp */; }; @@ -3855,6 +3856,8 @@ B5599D140E9594E800E2A85A /* SVGImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGImage.cpp; sourceTree = "<group>"; }; B5599D150E9594E800E2A85A /* SVGImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGImage.h; sourceTree = "<group>"; }; B57635F70E96C13D008A7ABC /* ResourceResponseBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceResponseBase.cpp; sourceTree = "<group>"; }; + B58533A40EB6543C007104C1 /* FileChooserChromiumMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = FileChooserChromiumMac.mm; path = platform/chromium/FileChooserChromiumMac.mm; sourceTree = "<group>"; }; + B58533B90EB65626007104C1 /* FileChooserChromiumMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileChooserChromiumMac.h; path = platform/chromium/FileChooserChromiumMac.h; sourceTree = "<group>"; }; B58831070E9BD5B000CEC344 /* RenderReplica.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderReplica.cpp; sourceTree = "<group>"; }; B58831080E9BD5B000CEC344 /* RenderReplica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderReplica.h; sourceTree = "<group>"; }; B58831120E9BD61F00CEC344 /* TextControlInnerElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextControlInnerElements.h; sourceTree = "<group>"; }; @@ -7226,6 +7229,8 @@ E473F63A0EADFF8E006C2098 /* DragDataRef.h */, E473F63B0EADFF8E006C2098 /* DragImageChromium.cpp */, E473F63E0EADFFB5006C2098 /* FileChooserChromium.cpp */, + B58533A40EB6543C007104C1 /* FileChooserChromiumMac.mm */, + B58533B90EB65626007104C1 /* FileChooserChromiumMac.h */, E473F6400EADFFC6006C2098 /* FileSystemPosix.cpp */, E473F6410EADFFC6006C2098 /* FramelessScrollView.cpp */, E473F6420EADFFC6006C2098 /* FramelessScrollView.h */, @@ -8699,6 +8704,7 @@ E473F6860EAE01F5006C2098 /* EventHandlerChromium.cpp in Sources */, 4D11C4E10E9ABEA900EF7617 /* ExceptionContextV8.cpp in Sources */, E473F63F0EADFFB5006C2098 /* FileChooserChromium.cpp in Sources */, + B58533D80EB658D7007104C1 /* FileChooserChromiumMac.mm in Sources */, E473F6430EADFFC6006C2098 /* FileSystemPosix.cpp in Sources */, 4DB044260EB161E800A5633C /* FontCacheMacPending.cpp in Sources */, E473F6880EAE021B006C2098 /* FrameChromium.cpp in Sources */, |