Skip to content

Commit 519a25e

Browse files
committed
WIP (42)
1 parent 0ecf628 commit 519a25e

File tree

2 files changed

+140
-110
lines changed

2 files changed

+140
-110
lines changed

src/WinWebDiffLib/WebDiffWindow.hpp

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,12 @@ class CWebDiffWindow : public IWebDiffWindow
201201
if (SUCCEEDED(hr))
202202
hr = compare(callback2.Get());
203203
if (FAILED(hr) && callback2)
204-
callback2->Invoke({ hr, nullptr });
204+
return callback2->Invoke({ hr, nullptr });
205205
return S_OK;
206206
}).Get());
207207
}
208208
if (FAILED(hr) && callback2)
209-
callback2->Invoke({ hr, nullptr });
209+
return callback2->Invoke({ hr, nullptr });
210210
return S_OK;
211211
}).Get());
212212
}
@@ -230,12 +230,12 @@ class CWebDiffWindow : public IWebDiffWindow
230230
if (SUCCEEDED(hr))
231231
hr = compare(callback2.Get());
232232
if (FAILED(hr) && callback2)
233-
callback2->Invoke({ hr, nullptr });
233+
return callback2->Invoke({ hr, nullptr });
234234
return S_OK;
235235
}).Get());
236236
}
237237
if (FAILED(hr) && callback2)
238-
callback2->Invoke({ hr, nullptr });
238+
return callback2->Invoke({ hr, nullptr });
239239
return S_OK;
240240
}).Get());
241241
}
@@ -668,10 +668,10 @@ class CWebDiffWindow : public IWebDiffWindow
668668
if (pane + 1 < m_nPanes)
669669
hr = getDocumentsLoop(jsons, callback2.Get(), pane + 1);
670670
else if (callback2)
671-
callback2->Invoke({ hr, nullptr });
671+
return callback2->Invoke({ hr, nullptr });
672672
}
673673
if (FAILED(hr) && callback2)
674-
callback2->Invoke({ hr, nullptr });
674+
return callback2->Invoke({ hr, nullptr });
675675
return S_OK;
676676
}).Get());
677677
return hr;
@@ -692,16 +692,16 @@ LR"(
692692
HRESULT hr = m_webWindow[pane].ExecuteScriptInAllFrames(script,
693693
Callback<IWebDiffCallback>([this, pane, callback2](const WebDiffCallbackResult& result) -> HRESULT
694694
{
695-
HRESULT hr = result.errorCode;
695+
HRESULT hr = S_OK; // result.errorCode;
696696
if (SUCCEEDED(hr))
697697
{
698698
if (pane + 1 < m_nPanes)
699699
hr = addDblClickEventListenerLoop(callback2.Get(), pane + 1);
700700
else if (callback2)
701-
callback2->Invoke({ hr, nullptr });
701+
return callback2->Invoke({ hr, nullptr });
702702
}
703703
if (FAILED(hr) && callback2)
704-
callback2->Invoke({ hr, nullptr });
704+
return callback2->Invoke({ hr, nullptr });
705705
return S_OK;
706706
}).Get());
707707
return hr;
@@ -764,17 +764,17 @@ LR"(
764764
if (SUCCEEDED(hr))
765765
hr = addDblClickEventListenerLoop(callback2.Get());
766766
if (FAILED(hr) && callback2)
767-
callback2->Invoke({ hr, nullptr });
767+
return callback2->Invoke({ hr, nullptr });
768768
return S_OK;
769769
}).Get());
770770
}
771771
if (FAILED(hr) && callback2)
772-
callback2->Invoke({ hr, nullptr });
772+
return callback2->Invoke({ hr, nullptr });
773773
return S_OK;
774774
}).Get());
775775
}
776776
if (FAILED(hr) && callback2)
777-
callback2->Invoke({ hr, nullptr });
777+
return callback2->Invoke({ hr, nullptr });
778778
return S_OK;
779779
}).Get());
780780
return hr;
@@ -792,10 +792,10 @@ LR"(
792792
if (pane + 1 < m_nPanes)
793793
hr = saveFilesLoop(kind, filenames, callback2.Get(), pane + 1);
794794
else if (callback2)
795-
callback2->Invoke({ hr, nullptr });
795+
return callback2->Invoke({ hr, nullptr });
796796
}
797797
if (FAILED(hr) && callback2)
798-
callback2->Invoke({ hr, nullptr });
798+
return callback2->Invoke({ hr, nullptr });
799799
return S_OK;
800800
}).Get());
801801
return hr;
@@ -817,18 +817,18 @@ LR"(
817817
HRESULT hr = m_webWindow[pane].SetOuterHTML(it->nodeId, it->outerHTML,
818818
Callback<IWebDiffCallback>([this, pane, nodes, it, callback2](const WebDiffCallbackResult& result) -> HRESULT
819819
{
820-
HRESULT hr = result.errorCode;
820+
HRESULT hr = S_OK; // result.errorCode;
821821
if (SUCCEEDED(hr))
822822
{
823823
std::list<ModifiedNode>::reverse_iterator it2(it);
824824
++it2;
825825
if (it2 != nodes->rend())
826826
hr = applyHTMLLoop(pane, nodes, callback2.Get(), it2);
827827
else if (callback2)
828-
callback2->Invoke({ hr, nullptr });
828+
return callback2->Invoke({ hr, nullptr });
829829
}
830830
if (FAILED(hr) && callback2)
831-
callback2->Invoke({ hr, nullptr });
831+
return callback2->Invoke({ hr, nullptr });
832832
return S_OK;
833833
}).Get());
834834
return hr;
@@ -848,10 +848,10 @@ LR"(
848848
if (pane + 1 < m_nPanes)
849849
hr = applyDOMLoop(documents, callback2.Get(), pane + 1);
850850
else if (callback2)
851-
callback2->Invoke({ hr, nullptr });
851+
return callback2->Invoke({ hr, nullptr });
852852
}
853853
if (FAILED(hr) && callback2)
854-
callback2->Invoke({ hr, nullptr });
854+
return callback2->Invoke({ hr, nullptr });
855855
return hr;
856856
}).Get(), nodes->rbegin());
857857
return hr;
@@ -869,10 +869,10 @@ LR"(
869869
if (pane + 1 < m_nPanes)
870870
hr = setStyleSheetLoop(styles, callback2.Get(), pane + 1);
871871
else if (callback2)
872-
callback2->Invoke({ hr, nullptr });
872+
return callback2->Invoke({ hr, nullptr });
873873
}
874874
if (FAILED(hr) && callback2)
875-
callback2->Invoke({ hr, nullptr });
875+
return callback2->Invoke({ hr, nullptr });
876876
return S_OK;
877877
}).Get());
878878
return hr;
@@ -888,7 +888,7 @@ LR"(
888888
if (SUCCEEDED(hr))
889889
hr = makeDiffNodeIdArrayLoop(callback2.Get());
890890
if (FAILED(hr) && callback2)
891-
callback2->Invoke({ hr, nullptr });
891+
return callback2->Invoke({ hr, nullptr });
892892
return S_OK;
893893
}).Get());
894894
return hr;
@@ -919,15 +919,15 @@ LR"(
919919
if (pane + 1 < m_nPanes)
920920
hr = unhighlightDifferencesLoop(callback2.Get(), pane + 1);
921921
else if (callback2)
922-
callback2->Invoke({ hr, nullptr });
922+
return callback2->Invoke({ hr, nullptr });
923923
}
924924
if (FAILED(hr) && callback2)
925-
callback2->Invoke({ hr, nullptr });
925+
return callback2->Invoke({ hr, nullptr });
926926
return S_OK;
927927
}).Get(), nodes->rbegin());
928928
}
929929
if (FAILED(hr) && callback2)
930-
callback2->Invoke({ hr, nullptr });
930+
return callback2->Invoke({ hr, nullptr });
931931
return S_OK;
932932
}).Get());
933933
return hr;
@@ -964,10 +964,10 @@ LR"(
964964
if (pane < m_nPanes - 1)
965965
hr = makeDiffNodeIdArrayLoop(callback2.Get(), pane + 1);
966966
else if (callback2)
967-
callback2->Invoke({ hr, nullptr });
967+
return callback2->Invoke({ hr, nullptr });
968968
}
969969
if (FAILED(hr) && callback2)
970-
callback2->Invoke({ hr, nullptr });
970+
return callback2->Invoke({ hr, nullptr });
971971
return S_OK;
972972
}).Get());
973973
return hr;
@@ -980,22 +980,17 @@ LR"(
980980
HRESULT hr = m_webWindow[pane].CallDevToolsProtocolMethod(L"DOM.scrollIntoViewIfNeeded", args.c_str(),
981981
Callback<IWebDiffCallback>([this, diffIndex, pane, callback2](const WebDiffCallbackResult& result) -> HRESULT
982982
{
983-
HRESULT hr = result.errorCode;
984-
m_webWindow[pane].ShowToolTip(FAILED(hr));
985-
if (FAILED(hr))
986-
{
987-
m_webWindow[pane].SetToolTipText(result.returnObjectAsJson);
988-
hr = S_OK;
989-
}
983+
HRESULT hr = S_OK; // result.errorCode;
984+
m_webWindow[pane].ShowToolTip(FAILED(result.errorCode), 5000);
990985
if (SUCCEEDED(hr))
991986
{
992987
if (pane + 1 < m_nPanes)
993988
hr = scrollIntoViewIfNeededLoop(diffIndex, callback2.Get(), pane + 1);
994989
else if (callback2)
995-
callback2->Invoke({ hr, nullptr });
990+
return callback2->Invoke({ hr, nullptr });
996991
}
997992
if (FAILED(hr) && callback2)
998-
callback2->Invoke(result);
993+
return callback2->Invoke(result);
999994
return S_OK;
1000995
}).Get());
1001996
return hr;
@@ -1012,7 +1007,7 @@ LR"(
10121007
{
10131008
HRESULT hr = result.errorCode;
10141009
if (callback2)
1015-
callback2->Invoke({ hr, nullptr });
1010+
return callback2->Invoke({ hr, nullptr });
10161011
return S_OK;
10171012
}).Get());
10181013
return hr;
@@ -1035,7 +1030,7 @@ LR"(
10351030
hr = setStyleSheetText(pane, styleSheetId, styles, callback2.Get());
10361031
}
10371032
if (FAILED(hr) && callback2)
1038-
callback2->Invoke({ hr, nullptr });
1033+
return callback2->Invoke({ hr, nullptr });
10391034
return S_OK;
10401035
}).Get());
10411036
return hr;
@@ -1067,18 +1062,18 @@ LR"(
10671062
HRESULT hr = setFrameStyleSheet(pane, *it, *styles,
10681063
Callback<IWebDiffCallback>([this, pane, frameIdList, styles, it, callback2](const WebDiffCallbackResult& result) -> HRESULT
10691064
{
1070-
HRESULT hr = result.errorCode;
1065+
HRESULT hr = S_OK; // result.errorCode;
10711066
if (SUCCEEDED(hr))
10721067
{
10731068
std::vector<std::wstring>::iterator it2(it);
10741069
++it2;
10751070
if (it2 != frameIdList->end())
10761071
hr = setFrameStyleSheetLoop(pane, frameIdList, styles, callback2.Get(), it2);
10771072
else if (callback2)
1078-
callback2->Invoke({ hr, nullptr });
1073+
return callback2->Invoke({ hr, nullptr });
10791074
}
10801075
if (FAILED(hr) && callback2)
1081-
callback2->Invoke({ hr, nullptr });
1076+
return callback2->Invoke({ hr, nullptr });
10821077
return S_OK;
10831078
}).Get());
10841079
return hr;
@@ -1104,7 +1099,7 @@ LR"(
11041099
callback2.Get(), frameIdList->begin());
11051100
}
11061101
if (FAILED(hr) && callback2)
1107-
callback2->Invoke({ hr, nullptr });
1102+
return callback2->Invoke({ hr, nullptr });
11081103
return S_OK;
11091104
}).Get());
11101105
return hr;
@@ -1123,7 +1118,7 @@ LR"(
11231118
if (SUCCEEDED(hr))
11241119
hr = scrollIntoViewIfNeededLoop(diffIndex, callback2.Get());
11251120
if (FAILED(hr) && callback2)
1126-
callback2->Invoke({ hr, nullptr });
1121+
return callback2->Invoke({ hr, nullptr });
11271122
return S_OK;
11281123
}).Get());
11291124
return hr;

0 commit comments

Comments
 (0)