Changeset 222824 in webkit
- Timestamp:
- Oct 3, 2017 5:51:24 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r222820 r222824 1 2017-10-03 Alex Christensen <achristensen@webkit.org> 2 3 Moderize WebKit's back forward list code 4 https://bugs.webkit.org/show_bug.cgi?id=177843 5 6 Reviewed by Tim Horton. 7 8 Use Ref instead of RefPtr when possible. 9 Use references instead of pointers when possible. 10 Remove unnecessary null checks. 11 Reduce unnecessary Vector copying. 12 13 * Shared/SessionState.h: 14 * Shared/WebBackForwardListItem.h: 15 * UIProcess/API/APILoaderClient.h: 16 (API::LoaderClient::didChangeBackForwardList): 17 (API::LoaderClient::shouldKeepCurrentBackForwardListItemInList): 18 * UIProcess/API/C/WKPage.cpp: 19 (WKPageSetPageLoaderClient): 20 * UIProcess/WebBackForwardList.cpp: 21 (WebKit::WebBackForwardList::pageClosed): 22 (WebKit::WebBackForwardList::addItem): 23 (WebKit::WebBackForwardList::goToItem): 24 (WebKit::WebBackForwardList::currentItem const): 25 (WebKit::WebBackForwardList::backItem const): 26 (WebKit::WebBackForwardList::forwardItem const): 27 (WebKit::WebBackForwardList::itemAtIndex const): 28 (WebKit::WebBackForwardList::backListAsAPIArrayWithLimit const): 29 (WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit const): 30 (WebKit::WebBackForwardList::removeAllItems): 31 (WebKit::WebBackForwardList::clear): 32 (WebKit::WebBackForwardList::backForwardListState const): 33 (WebKit::WebBackForwardList::restoreFromState): 34 * UIProcess/WebBackForwardList.h: 35 * UIProcess/WebPageProxy.cpp: 36 (WebKit::WebPageProxy::reattachToWebProcessWithItem): 37 (WebKit::WebPageProxy::initializeWebPage): 38 (WebKit::WebPageProxy::didChangeBackForwardList): 39 (WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList): 40 (WebKit::WebPageProxy::backForwardGoToItem): 41 * UIProcess/WebPageProxy.h: 42 * UIProcess/WebProcessProxy.cpp: 43 (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): 44 * UIProcess/WebProcessProxy.h: 45 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 46 (WebKit::WebBackForwardListProxy::itemAtIndex): 47 1 48 2017-10-03 Chris Dumez <cdumez@apple.com> 2 49 -
trunk/Source/WebKit/Shared/SessionState.h
r222233 r222824 24 24 */ 25 25 26 #ifndef SessionState_h 27 #define SessionState_h 26 #pragma once 28 27 29 28 #if PLATFORM(COCOA) … … 151 150 152 151 } // namespace WebKit 153 154 #endif // SessionState_h -
trunk/Source/WebKit/Shared/WebBackForwardListItem.h
r216764 r222824 24 24 */ 25 25 26 #ifndef WebBackForwardListItem_h 27 #define WebBackForwardListItem_h 26 #pragma once 28 27 29 28 #include "APIObject.h" 30 29 #include "SessionState.h" 31 #include <wtf/Ref Ptr.h>30 #include <wtf/Ref.h> 32 31 #include <wtf/text/WTFString.h> 33 32 … … 75 74 }; 76 75 77 typedef Vector<Ref Ptr<WebBackForwardListItem>> BackForwardListItemVector;76 typedef Vector<Ref<WebBackForwardListItem>> BackForwardListItemVector; 78 77 79 78 } // namespace WebKit 80 81 #endif // WebBackForwardListItem_h -
trunk/Source/WebKit/UIProcess/API/APILoaderClient.h
r222802 r222824 90 90 virtual void processDidCrash(WebKit::WebPageProxy&) { } 91 91 92 virtual void didChangeBackForwardList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem*, Vector<Ref Ptr<WebKit::WebBackForwardListItem>>) { }93 virtual bool shouldKeepCurrentBackForwardListItemInList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem *) { return true; }92 virtual void didChangeBackForwardList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem*, Vector<Ref<WebKit::WebBackForwardListItem>>&&) { } 93 virtual bool shouldKeepCurrentBackForwardListItemInList(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem&) { return true; } 94 94 virtual void willGoToBackForwardListItem(WebKit::WebPageProxy&, WebKit::WebBackForwardListItem&, API::Object*) { } 95 95 -
trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp
r222802 r222824 1205 1205 } 1206 1206 1207 void didChangeBackForwardList(WebPageProxy& page, WebBackForwardListItem* addedItem, Vector<Ref Ptr<WebBackForwardListItem>>removedItems) override1207 void didChangeBackForwardList(WebPageProxy& page, WebBackForwardListItem* addedItem, Vector<Ref<WebBackForwardListItem>>&& removedItems) override 1208 1208 { 1209 1209 if (!m_client.didChangeBackForwardList) … … 1223 1223 } 1224 1224 1225 bool shouldKeepCurrentBackForwardListItemInList(WebKit::WebPageProxy& page, WebKit::WebBackForwardListItem *item) override1225 bool shouldKeepCurrentBackForwardListItemInList(WebKit::WebPageProxy& page, WebKit::WebBackForwardListItem& item) override 1226 1226 { 1227 1227 if (!m_client.shouldKeepCurrentBackForwardListItemInList) 1228 1228 return true; 1229 1229 1230 return m_client.shouldKeepCurrentBackForwardListItemInList(toAPI(&page), toAPI( item), m_client.base.clientInfo);1230 return m_client.shouldKeepCurrentBackForwardListItemInList(toAPI(&page), toAPI(&item), m_client.base.clientInfo); 1231 1231 } 1232 1232 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp
r218487 r222824 129 129 } 130 130 131 void webkitBackForwardListChanged(WebKitBackForwardList* backForwardList, WebBackForwardListItem* webAddedItem, const Vector<RefPtr<WebBackForwardListItem>>& webRemovedItems)131 void webkitBackForwardListChanged(WebKitBackForwardList* backForwardList, WebBackForwardListItem* webAddedItem, Vector<Ref<WebBackForwardListItem>>&& webRemovedItems) 132 132 { 133 133 WebKitBackForwardListItem* addedItem = webkitBackForwardListGetOrCreateItem(backForwardList, webAddedItem); … … 139 139 // the removed items are not in the map. In that case we create a wrapper now to pass it the changed signal, but 140 140 // without adding it to the item map. See https://bugs.webkit.org/show_bug.cgi?id=153233. 141 GRefPtr<WebKitBackForwardListItem> removedItem = priv->itemsMap.get(webItem. get());141 GRefPtr<WebKitBackForwardListItem> removedItem = priv->itemsMap.get(webItem.ptr()); 142 142 if (removedItem) { 143 143 removedItems = g_list_prepend(removedItems, g_object_ref(removedItem.get())); 144 priv->itemsMap.remove(webItem. get());144 priv->itemsMap.remove(webItem.ptr()); 145 145 } else 146 removedItems = g_list_prepend(removedItems, webkitBackForwardListItemGetOrCreate(webItem. get()));146 removedItems = g_list_prepend(removedItems, webkitBackForwardListItemGetOrCreate(webItem.ptr())); 147 147 } 148 148 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardListPrivate.h
r218487 r222824 24 24 */ 25 25 26 #ifndef WebKitBackForwardListPrivate_h 27 #define WebKitBackForwardListPrivate_h 26 #pragma once 28 27 29 28 #include "WebBackForwardList.h" … … 33 32 WebKitBackForwardListItem* webkitBackForwardListItemGetOrCreate(WebKit::WebBackForwardListItem*); 34 33 WebKit::WebBackForwardListItem* webkitBackForwardListItemGetItem(WebKitBackForwardListItem*); 35 void webkitBackForwardListChanged(WebKitBackForwardList*, WebKit::WebBackForwardListItem* webAddedItem, const Vector<RefPtr<WebKit::WebBackForwardListItem>>&); 36 37 #endif // WebKitBackForwardListPrivate_h 34 void webkitBackForwardListChanged(WebKitBackForwardList*, WebKit::WebBackForwardListItem* webAddedItem, Vector<Ref<WebKit::WebBackForwardListItem>>&&); -
trunk/Source/WebKit/UIProcess/API/glib/WebKitLoaderClient.cpp
r218487 r222824 101 101 } 102 102 103 void didChangeBackForwardList(WebPageProxy&, WebBackForwardListItem* addedItem, Vector<Ref Ptr<WebBackForwardListItem>>removedItems) override103 void didChangeBackForwardList(WebPageProxy&, WebBackForwardListItem* addedItem, Vector<Ref<WebBackForwardListItem>>&& removedItems) override 104 104 { 105 webkitBackForwardListChanged(webkit_web_view_get_back_forward_list(m_webView), addedItem, removedItems);105 webkitBackForwardListChanged(webkit_web_view_get_back_forward_list(m_webView), addedItem, WTFMove(removedItems)); 106 106 } 107 107 -
trunk/Source/WebKit/UIProcess/WebBackForwardList.cpp
r218457 r222824 73 73 if (m_page) { 74 74 size_t size = m_entries.size(); 75 for (size_t i = 0; i < size; ++i) { 76 ASSERT(m_entries[i]); 77 if (!m_entries[i]) 78 continue; 79 80 didRemoveItem(*m_entries[i]); 81 } 75 for (size_t i = 0; i < size; ++i) 76 didRemoveItem(m_entries[i]); 82 77 } 83 78 … … 94 89 return; 95 90 96 Vector<Ref Ptr<WebBackForwardListItem>> removedItems;91 Vector<Ref<WebBackForwardListItem>> removedItems; 97 92 98 93 if (m_hasCurrentIndex) { … … 103 98 removedItems.reserveCapacity(m_entries.size() - targetSize); 104 99 while (m_entries.size() > targetSize) { 105 didRemoveItem( *m_entries.last());100 didRemoveItem(m_entries.last()); 106 101 removedItems.append(WTFMove(m_entries.last())); 107 102 m_entries.removeLast(); … … 111 106 // (or even if we are, if we only want 1 entry). 112 107 if (m_entries.size() == m_capacity && (m_currentIndex || m_capacity == 1)) { 113 didRemoveItem( *m_entries[0]);108 didRemoveItem(m_entries[0]); 114 109 removedItems.append(WTFMove(m_entries[0])); 115 110 m_entries.remove(0); … … 127 122 size_t size = m_entries.size(); 128 123 for (size_t i = 0; i < size; ++i) { 129 ASSERT(m_entries[i]); 130 if (!m_entries[i]) 131 continue; 132 didRemoveItem(*m_entries[i]); 124 didRemoveItem(m_entries[i]); 133 125 removedItems.append(WTFMove(m_entries[i])); 134 126 } … … 143 135 m_hasCurrentIndex = true; 144 136 } else { 145 shouldKeepCurrentItem = m_page->shouldKeepCurrentBackForwardListItemInList(m_entries[m_currentIndex] .get());137 shouldKeepCurrentItem = m_page->shouldKeepCurrentBackForwardListItemInList(m_entries[m_currentIndex]); 146 138 if (shouldKeepCurrentItem) 147 139 m_currentIndex++; … … 153 145 ASSERT(m_currentIndex < m_entries.size()); 154 146 155 removedItems.append(m_entries[m_currentIndex] );156 m_entries[m_currentIndex] = newItem;147 removedItems.append(m_entries[m_currentIndex].copyRef()); 148 m_entries[m_currentIndex] = *newItem; 157 149 } else { 158 150 // m_current should never be pointing more than 1 past the end of the entries Vector. … … 161 153 162 154 if (m_currentIndex <= m_entries.size()) 163 m_entries.insert(m_currentIndex, newItem);155 m_entries.insert(m_currentIndex, *newItem); 164 156 } 165 157 … … 167 159 } 168 160 169 void WebBackForwardList::goToItem(WebBackForwardListItem *item)170 { 171 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 172 173 if (!m_entries.size() || ! item || !m_page || !m_hasCurrentIndex)161 void WebBackForwardList::goToItem(WebBackForwardListItem& item) 162 { 163 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 164 165 if (!m_entries.size() || !m_page || !m_hasCurrentIndex) 174 166 return; 175 167 176 size_t targetIndex = m_entries.find(item); 168 size_t targetIndex = notFound; 169 for (size_t i = 0; i < m_entries.size(); ++i) { 170 if (m_entries[i].ptr() == &item) { 171 targetIndex = i; 172 break; 173 } 174 } 177 175 178 176 // If the target item wasn't even in the list, there's nothing else to do. … … 188 186 // If we're going to an item different from the current item, ask the client if the current 189 187 // item should remain in the list. 190 WebBackForwardListItem* currentItem = m_entries[m_currentIndex].get();188 auto& currentItem = m_entries[m_currentIndex]; 191 189 bool shouldKeepCurrentItem = true; 192 if (currentItem !=item) {190 if (currentItem.ptr() != &item) { 193 191 m_page->recordAutomaticNavigationSnapshot(); 194 shouldKeepCurrentItem = m_page->shouldKeepCurrentBackForwardListItemInList(m_entries[m_currentIndex] .get());192 shouldKeepCurrentItem = m_page->shouldKeepCurrentBackForwardListItemInList(m_entries[m_currentIndex]); 195 193 } 196 194 197 195 // If the client said to remove the current item, remove it and then update the target index. 198 Vector<Ref Ptr<WebBackForwardListItem>> removedItems;196 Vector<Ref<WebBackForwardListItem>> removedItems; 199 197 if (!shouldKeepCurrentItem) { 200 removedItems.append(currentItem );198 removedItems.append(currentItem.copyRef()); 201 199 m_entries.remove(m_currentIndex); 202 targetIndex = m_entries.find(item); 203 200 targetIndex = notFound; 201 for (size_t i = 0; i < m_entries.size(); ++i) { 202 if (m_entries[0].ptr() == &item) { 203 targetIndex = i; 204 break; 205 } 206 } 204 207 ASSERT(targetIndex != notFound); 205 208 } 206 209 207 210 m_currentIndex = targetIndex; 208 m_page->didChangeBackForwardList(nullptr, removedItems);211 m_page->didChangeBackForwardList(nullptr, WTFMove(removedItems)); 209 212 } 210 213 … … 213 216 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 214 217 215 return m_page && m_hasCurrentIndex ? m_entries[m_currentIndex]. get() : nullptr;218 return m_page && m_hasCurrentIndex ? m_entries[m_currentIndex].ptr() : nullptr; 216 219 } 217 220 … … 220 223 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 221 224 222 return m_page && m_hasCurrentIndex && m_currentIndex ? m_entries[m_currentIndex - 1]. get() : nullptr;225 return m_page && m_hasCurrentIndex && m_currentIndex ? m_entries[m_currentIndex - 1].ptr() : nullptr; 223 226 } 224 227 … … 227 230 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 228 231 229 return m_page && m_hasCurrentIndex && m_entries.size() && m_currentIndex < m_entries.size() - 1 ? m_entries[m_currentIndex + 1]. get() : nullptr;232 return m_page && m_hasCurrentIndex && m_entries.size() && m_currentIndex < m_entries.size() - 1 ? m_entries[m_currentIndex + 1].ptr() : nullptr; 230 233 } 231 234 … … 244 247 return nullptr; 245 248 246 return m_entries[index + m_currentIndex]. get();249 return m_entries[index + m_currentIndex].ptr(); 247 250 } 248 251 … … 287 290 288 291 ASSERT(backListSize >= size); 289 for (unsigned i = backListSize - size; i < backListSize; ++i) { 290 ASSERT(m_entries[i]); 291 vector.uncheckedAppend(m_entries[i].get()); 292 } 292 for (unsigned i = backListSize - size; i < backListSize; ++i) 293 vector.uncheckedAppend(m_entries[i].ptr()); 293 294 294 295 return API::Array::create(WTFMove(vector)); … … 311 312 unsigned last = m_currentIndex + size; 312 313 ASSERT(last < m_entries.size()); 313 for (unsigned i = m_currentIndex + 1; i <= last; ++i) { 314 ASSERT(m_entries[i]); 315 vector.uncheckedAppend(m_entries[i].get()); 316 } 314 for (unsigned i = m_currentIndex + 1; i <= last; ++i) 315 vector.uncheckedAppend(m_entries[i].ptr()); 317 316 318 317 return API::Array::create(WTFMove(vector)); … … 323 322 ASSERT(!m_hasCurrentIndex || m_currentIndex < m_entries.size()); 324 323 325 Vector<Ref Ptr<WebBackForwardListItem>> removedItems;324 Vector<Ref<WebBackForwardListItem>> removedItems; 326 325 327 326 for (auto& entry : m_entries) { 328 ASSERT(entry); 329 if (!entry) 330 continue; 331 332 didRemoveItem(*entry); 327 didRemoveItem(entry); 333 328 removedItems.append(WTFMove(entry)); 334 329 } … … 348 343 349 344 RefPtr<WebBackForwardListItem> currentItem = this->currentItem(); 350 Vector<Ref Ptr<WebBackForwardListItem>> removedItems;345 Vector<Ref<WebBackForwardListItem>> removedItems; 351 346 352 347 if (!currentItem) { … … 356 351 // But just in case it does happen in practice we should get back into a consistent state now. 357 352 for (size_t i = 0; i < size; ++i) { 358 ASSERT(m_entries[i]); 359 if (!m_entries[i]) 360 continue; 361 362 didRemoveItem(*m_entries[i]); 353 didRemoveItem(m_entries[i]); 363 354 removedItems.append(WTFMove(m_entries[i])); 364 355 } … … 372 363 373 364 for (size_t i = 0; i < size; ++i) { 374 ASSERT(m_entries[i]); 375 if (m_entries[i] && m_entries[i] != currentItem) 376 didRemoveItem(*m_entries[i]); 365 if (m_entries[i].ptr() != currentItem) 366 didRemoveItem(m_entries[i]); 377 367 } 378 368 379 369 removedItems.reserveCapacity(size - 1); 380 370 for (size_t i = 0; i < size; ++i) { 381 if (i != m_currentIndex && m_hasCurrentIndex && m_entries[i])371 if (i != m_currentIndex && m_hasCurrentIndex) 382 372 removedItems.append(WTFMove(m_entries[i])); 383 373 } … … 387 377 if (currentItem) { 388 378 m_entries.shrink(1); 389 m_entries[0] = WTFMove(currentItem);379 m_entries[0] = currentItem.releaseNonNull(); 390 380 } else { 391 381 m_entries.clear(); … … 405 395 406 396 for (size_t i = 0; i < m_entries.size(); ++i) { 407 auto& entry = *m_entries[i];397 auto& entry = m_entries[i]; 408 398 409 399 if (filter && !filter(entry)) { … … 415 405 } 416 406 417 backForwardListState.items.append(entry .itemState());407 backForwardListState.items.append(entry->itemState()); 418 408 } 419 409 … … 428 418 void WebBackForwardList::restoreFromState(BackForwardListState backForwardListState) 429 419 { 430 Vector<Ref Ptr<WebBackForwardListItem>> items;420 Vector<Ref<WebBackForwardListItem>> items; 431 421 items.reserveInitialCapacity(backForwardListState.items.size()); 432 422 -
trunk/Source/WebKit/UIProcess/WebBackForwardList.h
r218457 r222824 24 24 */ 25 25 26 #ifndef WebBackForwardList_h 27 #define WebBackForwardList_h 26 #pragma once 28 27 29 28 #include "APIObject.h" … … 31 30 #include "WebPageProxy.h" 32 31 #include <wtf/Ref.h> 33 #include <wtf/RefPtr.h>34 32 #include <wtf/Vector.h> 35 #if USE(CF)36 #include <CoreFoundation/CFDictionary.h>37 #endif38 33 39 34 namespace WebKit { … … 52 47 53 48 void addItem(WebBackForwardListItem*); 54 void goToItem(WebBackForwardListItem *);49 void goToItem(WebBackForwardListItem&); 55 50 void removeAllItems(); 56 51 void clear(); … … 86 81 BackForwardListItemVector m_entries; 87 82 83 // FIXME: m_currentIndex should be a std::optional<size_t> 88 84 bool m_hasCurrentIndex; 89 unsignedm_currentIndex;90 unsignedm_capacity;85 size_t m_currentIndex; 86 size_t m_capacity; 91 87 }; 92 88 93 89 } // namespace WebKit 94 95 #endif // WebBackForwardList_h -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r222809 r222824 685 685 686 686 if (item != m_backForwardList->currentItem()) 687 m_backForwardList->goToItem( item);687 m_backForwardList->goToItem(*item); 688 688 689 689 auto navigation = m_navigationState->createBackForwardNavigation(); … … 699 699 ASSERT(isValid()); 700 700 701 BackForwardListItemVectoritems = m_backForwardList->entries();701 const BackForwardListItemVector& items = m_backForwardList->entries(); 702 702 for (size_t i = 0; i < items.size(); ++i) 703 703 m_process->registerNewWebBackForwardListItem(items[i].get()); … … 1193 1193 } 1194 1194 1195 void WebPageProxy::didChangeBackForwardList(WebBackForwardListItem* added, Vector<Ref Ptr<WebBackForwardListItem>>removed)1195 void WebPageProxy::didChangeBackForwardList(WebBackForwardListItem* added, Vector<Ref<WebBackForwardListItem>>&& removed) 1196 1196 { 1197 1197 PageClientProtector protector(m_pageClient); … … 1216 1216 } 1217 1217 1218 bool WebPageProxy::shouldKeepCurrentBackForwardListItemInList(WebBackForwardListItem *item)1218 bool WebPageProxy::shouldKeepCurrentBackForwardListItemInList(WebBackForwardListItem& item) 1219 1219 { 1220 1220 PageClientProtector protector(m_pageClient); … … 4495 4495 if (createdExtension) 4496 4496 m_process->willAcquireUniversalFileReadSandboxExtension(); 4497 m_backForwardList->goToItem( item);4497 m_backForwardList->goToItem(*item); 4498 4498 } 4499 4499 -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r222794 r222824 410 410 RefPtr<API::Navigation> goToBackForwardItem(WebBackForwardListItem*); 411 411 void tryRestoreScrollPosition(); 412 void didChangeBackForwardList(WebBackForwardListItem* addedItem, Vector<Ref Ptr<WebBackForwardListItem>>removed);412 void didChangeBackForwardList(WebBackForwardListItem* addedItem, Vector<Ref<WebBackForwardListItem>>&& removed); 413 413 void willGoToBackForwardListItem(uint64_t itemID, bool inPageCache, const UserData&); 414 414 415 bool shouldKeepCurrentBackForwardListItemInList(WebBackForwardListItem *);415 bool shouldKeepCurrentBackForwardListItemInList(WebBackForwardListItem&); 416 416 417 417 bool willHandleHorizontalScrollEvents() const; -
trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp
r220857 r222824 425 425 } 426 426 427 void WebProcessProxy::registerNewWebBackForwardListItem(WebBackForwardListItem *item)427 void WebProcessProxy::registerNewWebBackForwardListItem(WebBackForwardListItem& item) 428 428 { 429 429 // This item was just created by the UIProcess and is being added to the map for the first time 430 430 // so we should not already have an item for this ID. 431 ASSERT(!m_backForwardListItemMap.contains(item ->itemID()));432 433 m_backForwardListItemMap.set(item ->itemID(),item);431 ASSERT(!m_backForwardListItemMap.contains(item.itemID())); 432 433 m_backForwardListItemMap.set(item.itemID(), &item); 434 434 } 435 435 -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r222664 r222824 124 124 void updateTextCheckerState(); 125 125 126 void registerNewWebBackForwardListItem(WebBackForwardListItem *);126 void registerNewWebBackForwardListItem(WebBackForwardListItem&); 127 127 void removeBackForwardItem(uint64_t); 128 128 -
trunk/Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp
r217564 r222824 173 173 { 174 174 if (!m_page) 175 return 0;175 return nullptr; 176 176 177 177 uint64_t itemID = 0; 178 178 if (!WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebPageProxy::BackForwardItemAtIndex(itemIndex), Messages::WebPageProxy::BackForwardItemAtIndex::Reply(itemID), m_page->pageID())) 179 return 0;179 return nullptr; 180 180 181 181 if (!itemID) 182 return 0;182 return nullptr; 183 183 184 184 return idToHistoryItemMap().get(itemID);
Note: See TracChangeset
for help on using the changeset viewer.