Changeset 89216 in webkit
- Timestamp:
- Jun 19, 2011 10:00:27 AM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 49 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r89187 r89216 1026 1026 platform/DragImage.cpp 1027 1027 platform/FileChooser.cpp 1028 platform/FileIconLoader.cpp 1028 1029 platform/FileSystem.cpp 1029 1030 platform/GeolocationService.cpp -
trunk/Source/WebCore/ChangeLog
r89214 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 Loading an icon and choosing files have similar async nature, but completely different 9 lifetimes: FileChooser should only exist when we are actually attempting to choose a file, 10 not anytime we need to render an input with a proper icon. 11 12 This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes 13 any notion of an icon from the FileChooser. 14 15 Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its 16 purpose. 17 18 Refactoring, covered by existing tests. 19 20 * CMakeLists.txt: Added FileIconLoader to build system. 21 * GNUmakefile.list.am: Ditto. 22 * WebCore.exp.in: Updated. 23 * WebCore.gypi: Added FileIconLoader to build system. 24 * WebCore.pro: Ditto. 25 * WebCore.vcproj/WebCore.vcproj: Ditto. 26 * WebCore.xcodeproj/project.pbxproj: Ditto. 27 * loader/EmptyClients.h: Updated. 28 (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does. 29 * page/Chrome.cpp: 30 (WebCore::Chrome::loadIconForFiles): Ditto. 31 * page/Chrome.h: Ditto. 32 * page/ChromeClient.h: Ditto. 33 * platform/FileChooser.cpp: 34 (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool. 35 (WebCore::FileChooser::create): Removed the tangled web. 36 (WebCore::FileChooser::clear): Removed icon-related code. 37 (WebCore::FileChooser::chooseFiles): Ditto. 38 * platform/FileChooser.h: 39 * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp. 40 (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added. 41 (WebCore::FileIconLoader::create): Added. 42 (WebCore::FileIconLoader::disconnectClient): Added. 43 (WebCore::FileIconLoader::notifyFinished): Added. 44 (WebCore::FileIconLoader::FileIconLoader): Added. 45 * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp. 46 * rendering/RenderFileUploadControl.cpp: 47 (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations. 48 (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s 49 (WebCore::RenderFileUploadControl::requestIcon): Added a helper. 50 (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load. 51 (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func. 52 (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon. 53 (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly. 54 (WebCore::RenderFileUploadControl::paintObject): Ditto. 55 (WebCore::RenderFileUploadControl::fileTextValue): Ditto. 56 * rendering/RenderFileUploadControl.h: Updated decls. 57 1 58 2011-06-19 Michael Saboff <msaboff@apple.com> 2 59 -
trunk/Source/WebCore/GNUmakefile.list.am
r89187 r89216 2368 2368 Source/WebCore/platform/FileChooser.cpp \ 2369 2369 Source/WebCore/platform/FileChooser.h \ 2370 Source/WebCore/platform/FileIconLoader.cpp \ 2371 Source/WebCore/platform/FileIconLoader.h \ 2370 2372 Source/WebCore/platform/FileMetadata.h \ 2371 2373 Source/WebCore/platform/FileStreamClient.h \ -
trunk/Source/WebCore/WebCore.exp.in
r89079 r89216 157 157 __ZN7WebCore11EditCommand7unapplyEv 158 158 __ZN7WebCore11FileChooser10chooseFileERKN3WTF6StringE 159 __ZN7WebCore11FileChooser10iconLoadedEN3WTF10PassRefPtrINS_4IconEEE160 159 __ZN7WebCore11FileChooser11chooseFilesERKN3WTF6VectorINS1_6StringELm0EEE 161 160 __ZN7WebCore11FileChooserD1Ev … … 347 346 __ZN7WebCore14DocumentLoaderD2Ev 348 347 __ZN7WebCore14DocumentWriter11setEncodingERKN3WTF6StringEb 348 __ZN7WebCore14FileIconLoader14notifyFinishedEN3WTF10PassRefPtrINS_4IconEEE 349 349 __ZN7WebCore14FrameSelection10setFocusedEb 350 350 __ZN7WebCore14FrameSelection12setSelectionERKNS_16VisibleSelectionEjNS0_19CursorAlignOnScrollENS_15TextGranularityENS_20DirectionalityPolicyE -
trunk/Source/WebCore/WebCore.gypi
r89187 r89216 3626 3626 'platform/EventLoop.h', 3627 3627 'platform/FileChooser.cpp', 3628 'platform/FileIconLoader.cpp', 3629 'platform/FileIconLoader.h', 3628 3630 'platform/FileMetadata.h', 3629 3631 'platform/FileStream.cpp', -
trunk/Source/WebCore/WebCore.pro
r89187 r89216 971 971 platform/DragImage.cpp \ 972 972 platform/FileChooser.cpp \ 973 platform/FileIconLoader.cpp \ 973 974 platform/FileStream.cpp \ 974 975 platform/FileSystem.cpp \ -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r89146 r89216 26391 26391 </File> 26392 26392 <File 26393 RelativePath="..\platform\FileIconLoader.cpp" 26394 > 26395 </File> 26396 <File 26397 RelativePath="..\platform\FileIconLoader.h" 26398 > 26399 </File> 26400 <File 26393 26401 RelativePath="..\platform\FileMetadata.h" 26394 26402 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r89187 r89216 861 861 4138D3351244054800323D33 /* EventContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 4138D3331244054800323D33 /* EventContext.h */; }; 862 862 4138D3361244054800323D33 /* EventContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4138D3341244054800323D33 /* EventContext.cpp */; }; 863 414B867313AD074E00B4B373 /* FileIconLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 414B867113AD074E00B4B373 /* FileIconLoader.cpp */; }; 864 414B867413AD074E00B4B373 /* FileIconLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 414B867213AD074E00B4B373 /* FileIconLoader.h */; settings = {ATTRIBUTES = (Private, ); }; }; 863 865 4150F9F112B6E0E70008C860 /* SliderThumbElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */; }; 864 866 4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */; }; … … 7288 7290 4138D3331244054800323D33 /* EventContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventContext.h; sourceTree = "<group>"; }; 7289 7291 4138D3341244054800323D33 /* EventContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventContext.cpp; sourceTree = "<group>"; }; 7292 414B867113AD074E00B4B373 /* FileIconLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileIconLoader.cpp; sourceTree = "<group>"; }; 7293 414B867213AD074E00B4B373 /* FileIconLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileIconLoader.h; sourceTree = "<group>"; }; 7290 7294 4150F9EF12B6E0E70008C860 /* SliderThumbElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SliderThumbElement.h; sourceTree = "<group>"; }; 7291 7295 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SliderThumbElement.cpp; sourceTree = "<group>"; }; … … 18762 18766 934FE9E40B5CA539003E4A73 /* FileChooser.cpp */, 18763 18767 066C772A0AB603B700238CC4 /* FileChooser.h */, 18768 414B867113AD074E00B4B373 /* FileIconLoader.cpp */, 18769 414B867213AD074E00B4B373 /* FileIconLoader.h */, 18764 18770 2EF1BFE8121C9F4200C27627 /* FileStream.cpp */, 18765 18771 2EF1BFE9121C9F4200C27627 /* FileStream.h */, … … 21060 21066 976D6C83122B8A3D001FD1F7 /* FileError.h in Headers */, 21061 21067 2EDF369F122C94C8002F7D4E /* FileException.h in Headers */, 21068 414B867413AD074E00B4B373 /* FileIconLoader.h in Headers */, 21062 21069 F55B3DBE1251F12D003EF269 /* FileInputType.h in Headers */, 21063 21070 976D6C86122B8A3D001FD1F7 /* FileList.h in Headers */, … … 23972 23979 89878561122CA064003AABDA /* FileEntry.cpp in Sources */, 23973 23980 893C480E1248BD3A002B3D86 /* FileEntrySync.cpp in Sources */, 23981 414B867313AD074E00B4B373 /* FileIconLoader.cpp in Sources */, 23974 23982 F55B3DBD1251F12D003EF269 /* FileInputType.cpp in Sources */, 23975 23983 976D6C85122B8A3D001FD1F7 /* FileList.cpp in Sources */, -
trunk/Source/WebCore/loader/EmptyClients.h
r88628 r89216 198 198 199 199 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { } 200 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*) { }200 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*) { } 201 201 202 202 virtual void formStateDidChange(const Node*) { } -
trunk/Source/WebCore/page/Chrome.cpp
r87521 r89216 25 25 #include "DNS.h" 26 26 #include "Document.h" 27 #include "FileIconLoader.h" 27 28 #include "FileChooser.h" 28 29 #include "FileList.h" … … 35 36 #include "HTMLNames.h" 36 37 #include "HitTestResult.h" 38 #include "Icon.h" 37 39 #include "InspectorInstrumentation.h" 38 40 #include "Page.h" … … 463 465 } 464 466 465 void Chrome:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* fileChooser)466 { 467 m_client-> chooseIconForFiles(filenames, fileChooser);467 void Chrome::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 468 { 469 m_client->loadIconForFiles(filenames, loader); 468 470 } 469 471 -
trunk/Source/WebCore/page/Chrome.h
r87521 r89216 38 38 class ChromeClient; 39 39 class FileChooser; 40 class FileIconLoader; 40 41 class FloatRect; 41 42 class Frame; … … 153 154 154 155 void runOpenPanel(Frame*, PassRefPtr<FileChooser>); 155 void chooseIconForFiles(const Vector<String>&, FileChooser*);156 void loadIconForFiles(const Vector<String>&, FileIconLoader*); 156 157 #if ENABLE(DIRECTORY_UPLOAD) 157 158 void enumerateChosenDirectory(const String&, FileChooser*); -
trunk/Source/WebCore/page/ChromeClient.h
r88284 r89216 47 47 class Element; 48 48 class FileChooser; 49 class FileIconLoader; 49 50 class FloatRect; 50 51 class Frame; … … 227 228 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) = 0; 228 229 // Asynchronous request to load an icon for specified filenames. 229 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*) = 0;230 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*) = 0; 230 231 231 232 #if ENABLE(DIRECTORY_UPLOAD) -
trunk/Source/WebCore/platform/FileChooser.cpp
r88977 r89216 30 30 #include "FileChooser.h" 31 31 32 #include "Icon.h" 32 namespace WebCore { 33 33 34 namespace WebCore {35 36 34 FileChooserClient::~FileChooserClient() 37 35 { … … 40 38 inline FileChooser::FileChooser(FileChooserClient* client, const Vector<String>& initialFilenames) 41 39 : m_client(client) 42 , m_isInitializing(true)43 40 { 44 41 m_filenames = initialFilenames; … … 47 44 PassRefPtr<FileChooser> FileChooser::create(FileChooserClient* client, const Vector<String>& initialFilenames) 48 45 { 49 RefPtr<FileChooser> chooser(adoptRef(new FileChooser(client, initialFilenames))); 50 chooser->loadIcon(); 51 chooser->m_isInitializing = false; 52 return chooser; 46 return adoptRef(new FileChooser(client, initialFilenames)); 53 47 } 54 48 … … 60 54 { 61 55 m_filenames.clear(); 62 m_icon = 0;63 56 } 64 57 … … 75 68 return; 76 69 m_filenames = filenames; 77 loadIcon();78 70 if (m_client) 79 71 m_client->valueChanged(); 80 72 } 81 73 82 void FileChooser::loadIcon()83 {84 if (m_filenames.size() && m_client)85 m_client->chooseIconForFiles(this, m_filenames);86 74 } 87 88 void FileChooser::iconLoaded(PassRefPtr<Icon> icon)89 {90 m_icon = icon;91 if (!m_isInitializing && m_icon && m_client)92 m_client->repaint();93 }94 95 } -
trunk/Source/WebCore/platform/FileChooser.h
r89039 r89216 37 37 38 38 class FileChooser; 39 class Font;40 class Icon;41 39 42 40 class FileChooserClient { 43 41 public: 44 42 virtual void valueChanged() = 0; 45 virtual void repaint() = 0;46 43 virtual bool allowsMultipleFiles() = 0; 47 44 #if ENABLE(DIRECTORY_UPLOAD) … … 49 46 #endif 50 47 virtual String acceptTypes() = 0; 51 virtual void chooseIconForFiles(FileChooser*, const Vector<String>&) = 0;52 48 virtual ~FileChooserClient(); 53 49 }; … … 63 59 const Vector<String>& filenames() const { return m_filenames; } 64 60 65 Icon* icon() const { return m_icon.get(); }66 67 61 void clear(); // for use by client; does not call valueChanged 68 62 69 63 void chooseFile(const String& path); 70 64 void chooseFiles(const Vector<String>& paths); 71 // Called when FileChooserClient finishes to load an icon requested by iconForFiles().72 void iconLoaded(PassRefPtr<Icon>);73 65 74 66 bool allowsMultipleFiles() const { return m_client ? m_client->allowsMultipleFiles() : false; } … … 81 73 private: 82 74 FileChooser(FileChooserClient*, const Vector<String>& initialFilenames); 83 void loadIcon();84 75 85 76 FileChooserClient* m_client; 86 77 Vector<String> m_filenames; 87 RefPtr<Icon> m_icon;88 bool m_isInitializing;89 78 }; 90 79 -
trunk/Source/WebCore/platform/FileIconLoader.cpp
r89215 r89216 1 1 /* 2 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 28 29 29 30 #include "config.h" 30 #include "File Chooser.h"31 #include "FileIconLoader.h" 31 32 32 33 #include "Icon.h" 33 34 34 35 namespace WebCore { 35 36 File ChooserClient::~FileChooserClient()36 37 FileIconLoaderClient::~FileIconLoaderClient() 37 38 { 38 39 } 39 40 40 inline FileChooser::FileChooser(FileChooserClient* client, const Vector<String>& initialFilenames) 41 : m_client(client) 42 , m_isInitializing(true) 41 PassRefPtr<FileIconLoader> FileIconLoader::create(FileIconLoaderClient* client) 43 42 { 44 m_filenames = initialFilenames;43 return adoptRef(new FileIconLoader(client)); 45 44 } 46 45 47 PassRefPtr<FileChooser> FileChooser::create(FileChooserClient* client, const Vector<String>& initialFilenames)46 void FileIconLoader::disconnectClient() 48 47 { 49 RefPtr<FileChooser> chooser(adoptRef(new FileChooser(client, initialFilenames))); 50 chooser->loadIcon(); 51 chooser->m_isInitializing = false; 52 return chooser; 48 m_client = 0; 53 49 } 54 50 55 FileChooser::~FileChooser() 51 void FileIconLoader::notifyFinished(PassRefPtr<Icon> icon) 52 { 53 if (m_client) 54 m_client->updateRendering(icon); 55 } 56 57 FileIconLoader::FileIconLoader(FileIconLoaderClient* client) 58 : m_client(client) 56 59 { 57 60 } 58 61 59 void FileChooser::clear()60 {61 m_filenames.clear();62 m_icon = 0;63 62 } 64 65 void FileChooser::chooseFile(const String& filename)66 {67 Vector<String> filenames;68 filenames.append(filename);69 chooseFiles(filenames);70 }71 72 void FileChooser::chooseFiles(const Vector<String>& filenames)73 {74 if (m_filenames == filenames)75 return;76 m_filenames = filenames;77 loadIcon();78 if (m_client)79 m_client->valueChanged();80 }81 82 void FileChooser::loadIcon()83 {84 if (m_filenames.size() && m_client)85 m_client->chooseIconForFiles(this, m_filenames);86 }87 88 void FileChooser::iconLoaded(PassRefPtr<Icon> icon)89 {90 m_icon = icon;91 if (!m_isInitializing && m_icon && m_client)92 m_client->repaint();93 }94 95 } -
trunk/Source/WebCore/platform/FileIconLoader.h
r89215 r89216 1 1 /* 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 25 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * 27 29 */ 28 30 29 #i nclude "config.h"30 # include "FileChooser.h"31 #ifndef FileIconLoader_h 32 #define FileIconLoader_h 31 33 32 #include "Icon.h" 34 #include <wtf/PassRefPtr.h> 35 #include <wtf/RefCounted.h> 33 36 34 37 namespace WebCore { 35 36 FileChooserClient::~FileChooserClient()37 {38 }39 38 40 inline FileChooser::FileChooser(FileChooserClient* client, const Vector<String>& initialFilenames) 41 : m_client(client) 42 , m_isInitializing(true) 43 { 44 m_filenames = initialFilenames; 45 } 39 class Icon; 46 40 47 PassRefPtr<FileChooser> FileChooser::create(FileChooserClient* client, const Vector<String>& initialFilenames) 48 { 49 RefPtr<FileChooser> chooser(adoptRef(new FileChooser(client, initialFilenames))); 50 chooser->loadIcon(); 51 chooser->m_isInitializing = false; 52 return chooser; 53 } 41 class FileIconLoaderClient { 42 public: 43 virtual void updateRendering(PassRefPtr<Icon>) = 0; 44 virtual ~FileIconLoaderClient(); 45 }; 54 46 55 FileChooser::~FileChooser() 56 { 57 } 47 class FileIconLoader : public RefCounted<FileIconLoader> { 48 public: 49 static PassRefPtr<FileIconLoader> create(FileIconLoaderClient*); 58 50 59 void FileChooser::clear() 60 { 61 m_filenames.clear(); 62 m_icon = 0; 63 } 51 void disconnectClient(); 52 void notifyFinished(PassRefPtr<Icon>); 64 53 65 void FileChooser::chooseFile(const String& filename) 66 { 67 Vector<String> filenames; 68 filenames.append(filename); 69 chooseFiles(filenames); 70 } 54 private: 55 explicit FileIconLoader(FileIconLoaderClient*); 71 56 72 void FileChooser::chooseFiles(const Vector<String>& filenames) 73 { 74 if (m_filenames == filenames) 75 return; 76 m_filenames = filenames; 77 loadIcon(); 78 if (m_client) 79 m_client->valueChanged(); 80 } 57 FileIconLoaderClient* m_client; 58 }; 81 59 82 void FileChooser::loadIcon() 83 { 84 if (m_filenames.size() && m_client) 85 m_client->chooseIconForFiles(this, m_filenames); 86 } 60 } // namespace WebCore 87 61 88 void FileChooser::iconLoaded(PassRefPtr<Icon> icon) 89 { 90 m_icon = icon; 91 if (!m_isInitializing && m_icon && m_client) 92 m_client->repaint(); 93 } 94 95 } 62 #endif -
trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp
r89039 r89216 57 57 RenderFileUploadControl::RenderFileUploadControl(HTMLInputElement* input) 58 58 : RenderBlock(input) 59 , m_iconLoader(FileIconLoader::create(this)) 59 60 { 60 61 FileList* list = input->files(); … … 64 65 filenames.append(list->item(i)->path()); 65 66 m_fileChooser = FileChooser::create(this, filenames); 67 requestIcon(filenames); 66 68 } 67 69 68 70 RenderFileUploadControl::~RenderFileUploadControl() 69 71 { 72 m_iconLoader->disconnectClient(); 70 73 m_fileChooser->disconnectClient(); 74 } 75 76 void RenderFileUploadControl::requestIcon(const Vector<String>& filenames) const 77 { 78 if (!filenames.size()) 79 return; 80 81 if (Chrome* chrome = this->chrome()) 82 chrome->loadIconForFiles(filenames, m_iconLoader.get()); 71 83 } 72 84 … … 79 91 inputElement->setFileListFromRenderer(fileChooser->filenames()); 80 92 inputElement->dispatchFormControlChangeEvent(); 81 82 // only repaint if it doesn't seem we have been destroyed 83 if (!fileChooser->disconnected()) 84 repaint(); 93 if (fileChooser->disconnected()) 94 return; 95 96 requestIcon(fileChooser->filenames()); 97 repaint(); 85 98 } 86 99 … … 105 118 void RenderFileUploadControl::receiveDropForDirectoryUpload(const Vector<String>& paths) 106 119 { 107 if (Chrome* chrome Pointer =chrome())108 chrome Pointer->enumerateChosenDirectory(paths[0], m_fileChooser.get());120 if (Chrome* chrome = this->chrome()) 121 chrome->enumerateChosenDirectory(paths[0], m_fileChooser.get()); 109 122 } 110 123 #endif … … 115 128 } 116 129 117 void RenderFileUploadControl::chooseIconForFiles(FileChooser* chooser, const Vector<String>& filenames) 118 { 119 if (Chrome* chromePointer = chrome()) 120 chromePointer->chooseIconForFiles(filenames, chooser); 130 void RenderFileUploadControl::updateRendering(PassRefPtr<Icon> icon) 131 { 132 if (m_icon == icon) 133 return; 134 135 m_icon = icon; 136 repaint(); 121 137 } 122 138 … … 125 141 if (!ScriptController::processingUserGesture()) 126 142 return; 127 if (Chrome* chrome Pointer =chrome())128 chrome Pointer->runOpenPanel(frame(), m_fileChooser);143 if (Chrome* chrome = this->chrome()) 144 chrome->runOpenPanel(frame(), m_fileChooser); 129 145 } 130 146 … … 155 171 if (files && files->isEmpty() && !m_fileChooser->filenames().isEmpty()) { 156 172 m_fileChooser->clear(); 173 m_icon = 0; 157 174 repaint(); 158 175 } … … 167 184 { 168 185 return max(0, contentWidth() - nodeWidth(uploadButton()) - afterButtonSpacing 169 - (m_ fileChooser->icon()? iconWidth + iconFilenameSpacing : 0));186 - (m_icon ? iconWidth + iconFilenameSpacing : 0)); 170 187 } 171 188 … … 174 191 if (style()->visibility() != VISIBLE) 175 192 return; 176 ASSERT(m_fileChooser);177 193 178 194 // Push a clip. … … 200 216 int buttonWidth = nodeWidth(button); 201 217 int buttonAndIconWidth = buttonWidth + afterButtonSpacing 202 + (m_ fileChooser->icon()? iconWidth + iconFilenameSpacing : 0);218 + (m_icon ? iconWidth + iconFilenameSpacing : 0); 203 219 int textX; 204 220 if (style()->isLeftToRightDirection()) … … 217 233 paintInfo.context->drawBidiText(font, textRun, IntPoint(textX, textY)); 218 234 219 if (m_ fileChooser->icon()) {235 if (m_icon) { 220 236 // Determine where the icon should be placed 221 237 int iconY = paintOffset.y() + borderTop() + paddingTop() + (contentHeight() - iconHeight) / 2; … … 227 243 228 244 // Draw the file icon 229 m_ fileChooser->icon()->paint(paintInfo.context, IntRect(iconX, iconY, iconWidth, iconHeight));245 m_icon->paint(paintInfo.context, IntRect(iconX, iconY, iconWidth, iconHeight)); 230 246 } 231 247 } … … 316 332 String RenderFileUploadControl::fileTextValue() const 317 333 { 334 ASSERT(m_fileChooser); 318 335 return theme()->fileListNameForWidth(m_fileChooser->filenames(), style()->font(), maxFilenameWidth()); 319 336 } -
trunk/Source/WebCore/rendering/RenderFileUploadControl.h
r88115 r89216 23 23 24 24 #include "FileChooser.h" 25 #include "FileIconLoader.h" 25 26 #include "RenderBlock.h" 26 27 … … 34 35 // associated with it to receive click/hover events. 35 36 36 class RenderFileUploadControl : public RenderBlock, private FileChooserClient {37 class RenderFileUploadControl : public RenderBlock, private FileChooserClient, private FileIconLoaderClient { 37 38 public: 38 39 RenderFileUploadControl(HTMLInputElement*); … … 57 58 virtual bool requiresForcedStyleRecalcPropagation() const { return true; } 58 59 59 // FileChooserClient methods. 60 void valueChanged(); 61 void repaint() { RenderBlock::repaint(); } 62 bool allowsMultipleFiles(); 60 // FileChooserClient functions. 61 virtual void valueChanged(); 62 virtual bool allowsMultipleFiles(); 63 63 #if ENABLE(DIRECTORY_UPLOAD) 64 bool allowsDirectoryUpload();65 v oid receiveDropForDirectoryUpload(const Vector<String>&);64 virtual bool allowsDirectoryUpload(); 65 virtual void receiveDropForDirectoryUpload(const Vector<String>&); 66 66 #endif 67 String acceptTypes(); 68 void chooseIconForFiles(FileChooser*, const Vector<String>&); 67 virtual String acceptTypes(); 68 69 // FileIconLoaderClient functions. 70 virtual void updateRendering(PassRefPtr<Icon>); 69 71 70 72 Chrome* chrome() const; 71 73 int maxFilenameWidth() const; 72 PassRefPtr<RenderStyle> createButtonStyle(const RenderStyle* parentStyle) const;73 74 74 75 virtual VisiblePosition positionForPoint(const IntPoint&); 75 76 76 77 HTMLInputElement* uploadButton() const; 78 void requestIcon(const Vector<String>&) const; 77 79 78 80 RefPtr<FileChooser> m_fileChooser; 81 RefPtr<FileIconLoader> m_iconLoader; 82 RefPtr<Icon> m_icon; 79 83 }; 80 84 -
trunk/Source/WebCore/svg/graphics/SVGImage.cpp
r84851 r89216 32 32 #include "DocumentLoader.h" 33 33 #include "FileChooser.h" 34 #include "FileIconLoader.h" 34 35 #include "FloatRect.h" 35 36 #include "Frame.h" -
trunk/Source/WebKit/chromium/ChangeLog
r89212 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * src/ChromeClientImpl.cpp: 9 (WebKit::ChromeClientImpl::loadIconForFiles): Renamed to better reflect the intent. 10 * src/ChromeClientImpl.h: Ditto. 11 * src/WebIconLoadingCompletionImpl.cpp: 12 (WebKit::WebIconLoadingCompletionImpl::WebIconLoadingCompletionImpl): Changed to use FileIconLoader. 13 (WebKit::WebIconLoadingCompletionImpl::didLoadIcon): Ditto. 14 * src/WebIconLoadingCompletionImpl.h: Dito. 15 1 16 2011-06-18 Yufeng Shen <miletus@chromium.org> 2 17 -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp
r89065 r89216 42 42 #include "ExternalPopupMenu.h" 43 43 #include "FileChooser.h" 44 #include "FileIconLoader.h" 44 45 #include "FloatRect.h" 45 46 #include "FrameLoadRequest.h" … … 50 51 #include "HTMLNames.h" 51 52 #include "HitTestResult.h" 53 #include "Icon.h" 52 54 #include "IntRect.h" 53 55 #include "NavigationAction.h" … … 687 689 } 688 690 689 void ChromeClientImpl:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* fileChooser)691 void ChromeClientImpl::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 690 692 { 691 693 if (!m_webView->client()) 692 694 return; 693 WebIconLoadingCompletionImpl* iconCompletion = new WebIconLoadingCompletionImpl( fileChooser);695 WebIconLoadingCompletionImpl* iconCompletion = new WebIconLoadingCompletionImpl(loader); 694 696 if (!m_webView->client()->queryIconForFiles(filenames, iconCompletion)) 695 697 iconCompletion->didLoadIcon(WebData()); -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.h
r87521 r89216 140 140 virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*); 141 141 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 142 virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);142 virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*); 143 143 #if ENABLE(DIRECTORY_UPLOAD) 144 144 virtual void enumerateChosenDirectory(const WTF::String&, WebCore::FileChooser*); -
trunk/Source/WebKit/chromium/src/WebIconLoadingCompletionImpl.cpp
r76491 r89216 40 40 namespace WebKit { 41 41 42 WebIconLoadingCompletionImpl::WebIconLoadingCompletionImpl(File Chooser* chooser)43 : m_file Chooser(chooser)42 WebIconLoadingCompletionImpl::WebIconLoadingCompletionImpl(FileIconLoader* fileIconLoader) 43 : m_fileIconLoader(fileIconLoader) 44 44 { 45 45 } … … 54 54 RefPtr<Image> image = BitmapImage::create(); 55 55 image->setData(iconData, true); 56 m_file Chooser->iconLoaded(Icon::create(image));56 m_fileIconLoader->notifyFinished(Icon::create(image)); 57 57 } 58 58 // This object is no longer needed. -
trunk/Source/WebKit/chromium/src/WebIconLoadingCompletionImpl.h
r76491 r89216 32 32 #define WebIconLoadingCompletionImpl_h 33 33 34 #include "File Chooser.h"34 #include "FileIconLoader.h" 35 35 #include "WebData.h" 36 36 #include "WebIconLoadingCompletion.h" 37 37 #include <wtf/PassRefPtr.h> 38 #include <wtf/RefPtr.h> 38 39 39 40 using WebKit::WebIconLoadingCompletion; … … 44 45 class WebIconLoadingCompletionImpl : public WebIconLoadingCompletion { 45 46 public: 46 WebIconLoadingCompletionImpl(WebCore::File Chooser*);47 WebIconLoadingCompletionImpl(WebCore::FileIconLoader*); 47 48 virtual void didLoadIcon(const WebData&); 48 49 … … 50 51 ~WebIconLoadingCompletionImpl(); 51 52 52 RefPtr<WebCore::File Chooser> m_fileChooser;53 RefPtr<WebCore::FileIconLoader> m_fileIconLoader; 53 54 }; 54 55 -
trunk/Source/WebKit/efl/ChangeLog
r88947 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/ChromeClientEfl.cpp: 9 (WebCore::ChromeClientEfl::loadIconForFiles): Renamed. 10 * WebCoreSupport/ChromeClientEfl.h: 11 1 12 2011-06-15 Grzegorz Czajkowski <g.czajkowski@samsung.com> 2 13 -
trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
r88518 r89216 41 41 #include "EWebKit.h" 42 42 #include "FileChooser.h" 43 #include "FileIconLoader.h" 43 44 #include "FloatRect.h" 44 45 #include "FrameLoader.h" … … 528 529 } 529 530 530 void ChromeClientEfl:: chooseIconForFiles(const Vector<String>&, FileChooser*)531 void ChromeClientEfl::loadIconForFiles(const Vector<String>&, FileIconLoader*) 531 532 { 532 533 notImplemented(); -
trunk/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
r88518 r89216 134 134 135 135 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>); 136 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);136 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*); 137 137 virtual void formStateDidChange(const Node*); 138 138 -
trunk/Source/WebKit/gtk/ChangeLog
r89133 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/ChromeClientGtk.cpp: 9 (WebKit::ChromeClient::loadIconForFiles): Renamed. 10 * WebCoreSupport/ChromeClientGtk.h: 11 1 12 2011-06-17 Joone Hur <joone.hur@collabora.co.uk> 2 13 -
trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
r88802 r89216 30 30 #include "Element.h" 31 31 #include "FileChooser.h" 32 #include "FileIconLoader.h" 32 33 #include "FileSystem.h" 33 34 #include "FloatRect.h" … … 643 644 } 644 645 645 void ChromeClient:: chooseIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileChooser* chooser)646 { 647 chooser->iconLoaded(Icon::createIconForFiles(filenames));646 void ChromeClient::loadIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileIconLoader* loader) 647 { 648 loader->notifyFinished(Icon::createIconForFiles(filenames)); 648 649 } 649 650 -
trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
r88754 r89216 129 129 #endif 130 130 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 131 virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);131 virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*); 132 132 133 133 virtual void formStateDidChange(const WebCore::Node*) { } -
trunk/Source/WebKit/haiku/ChangeLog
r88628 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/ChromeClientHaiku.cpp: 9 (WebCore::ChromeClientHaiku::loadIconForFiles): Renamed. 10 * WebCoreSupport/ChromeClientHaiku.h: 11 1 12 2011-06-12 Adam Barth <abarth@webkit.org> 2 13 -
trunk/Source/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
r80279 r89216 30 30 #include "ChromeClientHaiku.h" 31 31 32 #include "FileIconLoader.h" 32 33 #include "Frame.h" 33 34 #include "FrameLoadRequest.h" … … 372 373 } 373 374 374 void ChromeClientHaiku:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)375 { 376 chooser->iconLoaded(Icon::createIconForFiles(filenames));375 void ChromeClientHaiku::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 376 { 377 loader->notifyFinished(Icon::createIconForFiles(filenames)); 377 378 } 378 379 -
trunk/Source/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
r86584 r89216 153 153 154 154 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>); 155 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);155 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*); 156 156 157 157 virtual void setCursor(const Cursor&); -
trunk/Source/WebKit/mac/ChangeLog
r89207 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/WebChromeClient.h: 9 * WebCoreSupport/WebChromeClient.mm: 10 (WebChromeClient::loadIconForFiles): Renamed. 11 1 12 2011-06-18 Andrew Wellington <andrew@webkit.org> 2 13 -
trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
r86988 r89216 126 126 127 127 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 128 virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);128 virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*); 129 129 130 130 virtual void setCursor(const WebCore::Cursor&); -
trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
r86988 r89216 56 56 #import <WebCore/Element.h> 57 57 #import <WebCore/FileChooser.h> 58 #import <WebCore/FileIconLoader.h> 58 59 #import <WebCore/FloatRect.h> 59 60 #import <WebCore/Frame.h> … … 785 786 } 786 787 787 void WebChromeClient:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)788 { 789 chooser->iconLoaded(Icon::createIconForFiles(filenames));788 void WebChromeClient::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* iconLoader) 789 { 790 iconLoader->notifyFinished(Icon::createIconForFiles(filenames)); 790 791 } 791 792 -
trunk/Source/WebKit/qt/ChangeLog
r89137 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/ChromeClientQt.cpp: 9 (WebCore::ChromeClientQt::loadIconForFiles): Renamed. 10 * WebCoreSupport/ChromeClientQt.h: 11 1 12 2011-06-17 Alexis Menard <alexis.menard@openbossa.org> 2 13 -
trunk/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
r87623 r89216 35 35 #include "Document.h" 36 36 #include "FileChooser.h" 37 #include "FileIconLoader.h" 37 38 #include "Frame.h" 38 39 #include "FrameLoadRequest.h" … … 609 610 } 610 611 611 void ChromeClientQt:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)612 { 613 chooser->iconLoaded(Icon::createIconForFiles(filenames));612 void ChromeClientQt::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 613 { 614 loader->notifyFinished(Icon::createIconForFiles(filenames)); 614 615 } 615 616 -
trunk/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
r86706 r89216 47 47 48 48 class FileChooser; 49 class FileIconLoader; 49 50 class FloatRect; 50 51 class Page; … … 175 176 #endif 176 177 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>); 177 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);178 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*); 178 179 179 180 virtual void formStateDidChange(const Node*) { } -
trunk/Source/WebKit/win/ChangeLog
r89044 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/WebChromeClient.cpp: 9 (WebChromeClient::loadIconForFiles): Renamed. 10 * WebCoreSupport/WebChromeClient.h: 11 1 12 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com> 2 13 -
trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp
r86451 r89216 43 43 #include <WebCore/Cursor.h> 44 44 #include <WebCore/FileChooser.h> 45 #include <WebCore/FileIconLoader.h> 45 46 #include <WebCore/FloatRect.h> 46 47 #include <WebCore/Frame.h> … … 790 791 } 791 792 792 void WebChromeClient:: chooseIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileChooser* chooser)793 { 794 chooser->iconLoaded(Icon::createIconForFiles(filenames));793 void WebChromeClient::loadIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileIconLoader* loader) 794 { 795 loader->notifyFinished(Icon::createIconForFiles(filenames)); 795 796 } 796 797 -
trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
r86584 r89216 137 137 138 138 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 139 virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);139 virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*); 140 140 141 141 virtual void setCursor(const WebCore::Cursor&); -
trunk/Source/WebKit/wince/ChangeLog
r88628 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebCoreSupport/ChromeClientWinCE.cpp: 9 (WebKit::ChromeClientWinCE::loadIconForFiles): Renamed. 10 * WebCoreSupport/ChromeClientWinCE.h: 11 1 12 2011-06-12 Adam Barth <abarth@webkit.org> 2 13 -
trunk/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
r80279 r89216 27 27 28 28 #include "FileChooser.h" 29 #include "FileIconLoader.h" 29 30 #include "Icon.h" 30 31 #include "NotImplemented.h" … … 351 352 } 352 353 353 void ChromeClientWinCE:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)354 { 355 chooser->iconLoaded(Icon::createIconForFiles(filenames));354 void ChromeClientWinCE::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 355 { 356 loader->notifyFinished(Icon::createIconForFiles(filenames)); 356 357 } 357 358 -
trunk/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
r86584 r89216 150 150 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 151 151 // Asynchronous request to load an icon for specified filenames. 152 virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);152 virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*); 153 153 154 154 // Notification that the given form element has changed. This function -
trunk/Source/WebKit/wx/ChangeLog
r89197 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebKitSupport/ChromeClientWx.cpp: 9 (WebCore::ChromeClientWx::chooseIconForFiles): Renamed. 10 * WebKitSupport/ChromeClientWx.h: 11 1 12 2011-06-18 Holger Hans Peter Freyther <holger@moiji-mobile.com> 2 13 -
trunk/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
r83869 r89216 34 34 #endif 35 35 #include "FileChooser.h" 36 #include "FileIconLoader.h" 36 37 #include "FloatRect.h" 37 38 #include "Frame.h" … … 456 457 } 457 458 458 void ChromeClientWx::chooseIconForFiles(const Vector<String>& filenames, File Chooser* chooser)459 { 460 chooser->iconLoaded(Icon::createIconForFiles(filenames));459 void ChromeClientWx::chooseIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 460 { 461 loader->notifyFinished(Icon::createIconForFiles(filenames)); 461 462 } 462 463 -
trunk/Source/WebKit/wx/WebKitSupport/ChromeClientWx.h
r86584 r89216 137 137 138 138 virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>); 139 virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);139 virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*); 140 140 141 141 virtual void formStateDidChange(const Node*) { } -
trunk/Source/WebKit2/ChangeLog
r89211 r89216 1 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 2 3 Reviewed by Darin Adler. 4 5 Separate concerns of loading file icons and choosing files. 6 https://bugs.webkit.org/show_bug.cgi?id=62931 7 8 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9 (WebKit::WebChromeClient::loadIconForFiles): Renamed. 10 * WebProcess/WebCoreSupport/WebChromeClient.h: 11 1 12 2011-06-18 Eunmi Lee <eunmi15.lee@samsung.com> 2 13 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r88669 r89216 47 47 #include <WebCore/DatabaseTracker.h> 48 48 #include <WebCore/FileChooser.h> 49 #include <WebCore/FileIconLoader.h> 49 50 #include <WebCore/Frame.h> 50 51 #include <WebCore/FrameLoader.h> … … 637 638 } 638 639 639 void WebChromeClient:: chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)640 { 641 chooser->iconLoaded(Icon::createIconForFiles(filenames));640 void WebChromeClient::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader) 641 { 642 loader->notifyFinished(Icon::createIconForFiles(filenames)); 642 643 } 643 644 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
r88284 r89216 170 170 171 171 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 172 virtual void chooseIconForFiles(const Vector<String>&, WebCore::FileChooser*);172 virtual void loadIconForFiles(const Vector<String>&, WebCore::FileIconLoader*); 173 173 174 174 virtual void setCursor(const WebCore::Cursor&);
Note: See TracChangeset
for help on using the changeset viewer.